home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 5 / The 640 Meg Shareware Studio CD-ROM Volume V (Data Express)(1994).ISO / amiga / avm1_11a.lha / avm.doc < prev    next >
Text File  |  1994-03-10  |  102KB  |  2,381 lines

  1. Document AVM Release 1.11 documentation
  2.  
  3.                AVM Program Documentation
  4.                ~~~~~~~~~~~~~~~~~~~~~~~~~
  5.  
  6.                Release 1.11 - Al Villarica 1994
  7.  
  8.  Read the documentation!  It is important, given the complexity
  9.  of the system.  I have tried to make the documentation as
  10.  complete as possible.  However, if you find something that is
  11.  out of date with the actual program, let me know so I can update
  12.  the documentation.  Again, it is important that you go through
  13.  the documentation at least once.  If you have some problems,
  14.  check out the section called `Common Problems' before asking
  15.  me.  You may find that some of your questions have already been
  16.  asked by other people and have been solved.
  17.  
  18.  If you press the "Help" key in any of the windows (except the
  19.  window that pops open if you have an unregistered version of AVM),
  20.  you will get to read this file.  It is context sensitive, but not
  21.  fine grained.  In other words, you will be put in the section
  22.  that talks about the particular program you pressed the "Help"
  23.  key in.
  24.  
  25. 0. Important!
  26. -------------
  27.  
  28. 0.1. UNREGISTERED version
  29.  
  30.  AVM 1.11 is Copyright - 1994 by Al Villarica (SoftWorx).
  31.  
  32.  The UNREGISTERED version is freely distributable, as long as
  33.  it remains in the original archive as shipped by the author.  You
  34.  may not sell the UNREGISTERED version for profit.  Only a minimal
  35.  copying fee may be charged.
  36.  
  37.  You are legally entitled to use the UNREGISTERED version for
  38.  as long as you like, as long as the programs are *not* modified in
  39.  any way.  For example, you are not allowed to remove the requesters,
  40.  change any of the texts within the program, etc.  You are *not*
  41.  allowed to close the "annoying" window by using any external
  42.  program.  This window is meant to be a constant reminder that
  43.  you are using an UNREGISTERED version of AVM.  If you find it
  44.  useful, I would really appreciate it if you would register the
  45.  program.  That would be the best way to get this program to
  46.  improve.  Also, please do *not* try to use an external program
  47.  to resize my "reminder".  I am not responsible for any crashes due
  48.  to resizing, moving the window to another screen (it likes to stay
  49.  on the WorkBench screen), or closing the window.  I myself am
  50.  using a version of the AVM server which has the annoying window.
  51.  Really!  So, if I can use it, then you should be able to too.  I
  52.  don't think that my registration fee is outrageous.
  53.  
  54.  You may, however, modify the ARexx scripts to your heart's
  55.  content.  You may *not* use these ARexx scripts or any of their
  56.  derivatives for anything but AVM.  Any ARexx scripts created by
  57.  users (whether hand coded or generated by the AVM Programmer) 
  58.  can be put in the public domain.  In fact, I urge you to distribute
  59.  them or at least tell me about them so I may incorporate them (or
  60.  some of their features) into the following releases of AVM.
  61.  
  62.  You may not use *any* of the binaries (the server, programmer,
  63.  iff2adpcm, adpcm2iff, etc.) for anything but AVM.
  64.  
  65. 0.2. REGISTRATION
  66.  
  67.  Although the UNREGISTERED version is very usable as is, you are
  68.  encouraged to register the software.  At this time, there
  69.  are two levels of REGISTERED users.
  70.  
  71.  Registration entitles you to 1 year of free updates when they
  72.  become available for the programs and ARexx scripts that you
  73.  are registered for.  These updates will be made available
  74.  for download in the form of patch files.  I will not be sending
  75.  out update disks (although I may send out postcards to tell you
  76.  about important updates).
  77.  
  78.  Registration will also get you technical support.  Although I
  79.  will try to help new users in getting the UNREGISTERED version
  80.  working on their system (what good is a demo if you can't get
  81.  it working, right?), I cannot provide much more than that.  I
  82.  need to concentrate on supporting those who were kind enough
  83.  to register.  Of course, you can offer suggestions on how to
  84.  improve the software (and these suggestions may even show up
  85.  on later working demos of the AVM Suite).  If I add those things
  86.  that you want, maybe that will encourage you to register.
  87.  
  88.  Registration is transferrable.  You have to inform me of the
  89.  specifics of the transfer (i.e. to whom it was transferred to).
  90.  
  91.  Registration entitles you to use the AVM Suite on only one computer.
  92.  Of course, you can use as many modems on that computer as you
  93.  can possibly fit.  You may need a high-performance computer to
  94.  be able to do this, though.  With the best compression, the
  95.  modem to computer transfer rate is at least 9600, making it
  96.  quite unlikely that a 68000 computer will be able to handle
  97.  more than one modem at a time.
  98.  
  99. 0.2.1. REGISTERED version level 1
  100.  
  101.  With this level, you will get:
  102.  
  103.  o  requester-less versions of the AVM Suite,
  104.  o  a working AVM Scheduler for sending unattended outgoing 
  105.       messages and faxes
  106.  o  additional ARexx scripts to allow you to forward messages
  107.       remotely, forward faxes remotely, forward a call (or inform
  108.       the caller of your forwarding number in case your phone
  109.       system doesn't support call-transfer), call you up when
  110.       you have a message or a fax, or page you when you have
  111.       a message or a fax
  112.  
  113. 0.2.2. REGISTERED version level 2
  114.  
  115.  In addition to what you get from level 1, you will get:
  116.  
  117.  o  a working AVM Programmer which makes adding mailboxes and
  118.       customizing the ARexx scripts *much* easier,
  119.  o  the source files (used by the AVM Programmer) for most of
  120.       the ARexx scripts
  121.  
  122. 0.3. Payment Options
  123.  
  124.  Send payment to the `Author', Al Villarica.  For European customers,
  125.  send payment to the `European Registration' site.
  126.  
  127.  +-------------------------------------+
  128.  | Prices                              |
  129.  +-------------------------------------+
  130.  |Level 1                        $20.00|
  131.  |Level 2                        $35.00|
  132.  |Upgrade from 1 to 2            $20.00|
  133.  |Shipping/Disks*                $ 1.75|
  134.  |Check cashing charge**         $ 5.00|
  135.  +-------------------------------------+
  136.  
  137.  * The shipping/disk charge is per disk.  MUI takes 1 disk.  AVM
  138.  takes another.  Each set of voice files takes 1 disk.  If you can
  139.  download these things (or if I can email them to you), then you
  140.  don't have to pay any shipping or disk charges.  Tell me which
  141.  disks you want (MUI, AVM, voice files).
  142.  
  143.  ** The check cashing charge above is only applicable for European
  144.  checks sent to the European registration site.  Since I don't
  145.  get charged for cashing US checks, I will not be charging this
  146.  check cashing charge for people who can send me US checks.
  147.  
  148.  Some people have been able to send me cash (foreign currency is
  149.  acceptable but please be fair when calculating the exchange rate) 
  150.  by wrapping it in aluminum foil.  I am not sure if this is legal, 
  151.  and I cannot guarantee that I will receive it.  Of course, you 
  152.  could send it to me "registered" so that I will have to sign for 
  153.  it and you will receive notification that I signed for it.
  154.  
  155.  Someone has been able to send via a postal money order from Italy.
  156.  So, I know this is also another alternative.  I am not sure how much
  157.  this will cost you though.  When doing this, please make sure
  158.  that the full address is shown on the money order.  Otherwise,
  159.  I will have no way of knowing how to get in touch with you.
  160.  
  161.  When sending in payment, please include a short note to tell me
  162.  enhancements you want me to include for future releases.  Remember
  163.  that programs evolve.  This is your chance to contribute to its evolution.
  164.  If you have suggestions for the program (and you don't want to
  165.  register), send in your comments anyway.  Let me know why you don't
  166.  want to register (costs too much, it's missing a feature, etc.).
  167.  
  168.  Here's a form you can cut out and print out (don't forget to include
  169.  the country you're in!):
  170.  
  171.  Name ____________________________________________
  172.  
  173.  Address ________________________________________________________________
  174.  
  175.          ________________________________________________________________
  176.  
  177.          ________________________________________________________________
  178.  
  179.          ________________________________________________________________
  180.  
  181.  AVM  ( ) Level 1
  182.       ( ) Level 2
  183.       ( ) Upgrade from 1 to 2
  184.       ( ) Send AVM on a disk
  185.       ( ) Send MUI on a disk
  186.       ( ) Send voice files on a disk (modem = _______, language = _______)
  187.  
  188.  Computer _____________________________________
  189.  
  190.  Processor ____________________________________
  191.  
  192.  Memory (MB) __________________________________
  193.  
  194.  Modem ________________________________________
  195.  
  196.  Serial Port __________________________________
  197.  
  198.  AmigaDOS version _____________________________
  199.  
  200. 0.4. Technical Support
  201.  
  202.  You may send mail to the `Author'.  I will try to answer your questions
  203.  as soon as I can.  However, if you have access to a system that can
  204.  send email to an Internet site, my address is:
  205.  
  206.  rvillari@cat.syr.edu
  207.  
  208.  If you send email to this address and I do not respond within 1 week,
  209.  you can be sure that I did not receive your email or my reply didn't
  210.  reach you.  I am usually very good about replying to email, even if you
  211.  don't ask a question.  So, if you don't get any response from me, try to
  212.  find other ways of reaching me.
  213.  
  214.  I am also available for questions on IRC.  I hang out on the #amiga
  215.  channel and normally use "av" as my nickname.  Just do a /who #amiga
  216.  and look for me.  I can DCC stuff to you.
  217.  
  218.  I will answer all questions and help you do some ARexx programming
  219.  if you are using a fax or data/BBS program that you want to integrate
  220.  with AVM.
  221.  
  222.  You can also get some technical support by calling up my Mini BBS.
  223.  See `Getting Updates'.
  224.  
  225.  Before asking me a question, *please* look for the answer here in
  226.  this document.  You may find that someone asked your question
  227.  and I answered it.  Look at the section `Common Problems'.  Also,
  228.  it would be most helpful if, aside from telling me that AVM doesn't
  229.  work, you provide useful information.  For example, I would like to
  230.  know:
  231.  
  232.  o  Your computer type (A1000, A2000, etc.)
  233.  o  Your processor type (68000, 68020, 68030, 68040, 68060)
  234.  o  Your operating system version (2.04, 2.10, 3.0, 3.1, etc.)
  235.  o  Your modem type and ROM version (if you have a ZyXEL, type in
  236.     ATI1 in some terminal and tell me what it says).
  237.  o  Your serial port (internal, GVP IOextender, Multiface II, Multiface III,
  238.     etc.)
  239.  o  A ram:logger.save file.  Run the Logger program, try to reproduce
  240.     the problem, click on the Save button in the Logger window, then
  241.     send me the file called ram:logger.save.  The Logger program produces
  242.     important information about the AVM Server process which handles
  243.     the modem.  It also tells me if there's a problem with one of your
  244.     ARexx scripts.  In other words, the file ram:logger.save allows me
  245.     to do "remote" debugging.
  246.  
  247. 0.5. Getting Updates
  248.  
  249.  I will try to distribute patch files on the major networks (Usenet,
  250.  FidoNet -- see `Deep Thought BBS', Fred Fish, etc.).  But, you can
  251.  call up my Mini BBS by doing the following:
  252.  
  253.  Use a telephone and dial my number (See `Author').  Wait for AVM
  254.  to answer.  When it does, press 5 on your touch tone phone.  That will
  255.  activate AXsh, a non-traditional BBS that contains AVM related files.
  256.  Instructions on how to use AXsh will be displayed when you log in.
  257.  
  258.  You can call between 10am and 5pm, Eastern Standard Time (USA),
  259.  but please don't be rude: say "hello" if somebody answers.  Then
  260.  kindly ask them to press 5 (silent answer is active, so it should
  261.  be possible to get the modem to answer in data mode even if somebody
  262.  answers -- neat, huh?).
  263.  
  264.  NOTE:  THIS IS ONLY AS A LAST RESORT!  I WOULD PREFER IT IF YOU GOT
  265.  AVM EITHER THROUGH YOUR LOCAL BBS, BY EMAIL OR FTP, OR THROUGH
  266.  THE DEEP THOUGHT BBS.
  267.  
  268.  Important!  I'm following the Commodore way of numbering versions.  This
  269.  means that AVM 1.11 would be a higher version than AVM 1.2.
  270.  
  271. 0.6. European Registration
  272.  
  273.  If you live in Europe, you can send your registration forms and payment
  274.  to:
  275.  
  276.     Odendahl Stefan
  277.     Wickertweg 16
  278.     3902 Brig-Glis
  279.     Switzerland
  280.  
  281.  He will handle any registrations you send this way.  Of course, I
  282.  will still accept your registration here, but it is probably easier
  283.  to send it to him.
  284.  
  285.  He says he prefers Swiss Francs (sFr), but other currencies are
  286.  welcome.  Again, be fair when making the conversion.
  287.  
  288.  Please decide how to transfer the money:
  289.  
  290.  o Cash (no coins)
  291.  
  292.  o International postal money transfer to his "post account"
  293.  
  294.      No.          : 19-10974-2
  295.      Check-Office : Sitten
  296.      Country      : Switzerland
  297.  
  298.  o Postal money order
  299.  
  300.  o EuroCheque (please in sFr! [Swiss Francs])
  301.    Checks payable to 'Odendahl Stefan'.
  302.  
  303.  You can reach him at:
  304.  
  305.    odendahl@avalon.unizh.ch or sodendah@iiic.ethz.ch (Internet email)
  306.    Stefan Odendahl (2:301/807.42) (FIDO mail address)
  307.    Odi (IRC)
  308.  
  309. 0.7. Deep Thought BBS
  310.  
  311.  Christian Stelter has been kind enough to carry AVM in his BBS.  It is
  312.  a FidoNet node.  Here's information on his BBS.
  313.  
  314.  DEEP THOUGHT Bulletin Board System
  315.  InterNet: deepthought.north.de
  316.  FidoNet: 2:2426/2020.0 & 2:2426/2021.0
  317.  AmigaNet: 39:170/204.0 & 39:170/205.0
  318.  
  319.  Port 1: +49-(0)441-383365, 1200-19200 bps ZyXEL
  320.  Port 2: +49-(0)441-383839, 1200-16800 bps ZyXEL                       
  321.  Magic for Fido File Requests:    AVM (for the lastest version)
  322.                              :    FILES (for a list all files)
  323.  
  324.  
  325.  
  326. 0.8. Author
  327.  
  328.  Users of ZVM, *please* note the address change!
  329.  
  330.  Al Villarica
  331.  408 Arnold Ave.
  332.  Syracuse, NY 13210
  333.  USA
  334.  
  335.  Fax:   (315) 471-4043
  336.  Voice: (315) 471-4043
  337.  Data:  (315) 471-4043
  338.  
  339. 1. Introduction
  340. ---------------
  341.  
  342.  What does AVM stand for?  No, it's not Al's Voice Mail or something
  343.  like that.  I had planned on it being Amiga Voice Mail, but decided
  344.  on Advanced Voice Mail (recommended by one of the Beta testers).
  345.  
  346.  With the AVM, you can use your voice-capable modem (Zyxel, Dolphin,
  347.  or LineLink) and GPFax to provide:
  348.  
  349.  o  A three-mailbox answering machine.  These mailboxes currenly
  350.       are named (Anonymous, Al, and Dory).  You can change
  351.       their names.  See instructions in the Call Notifier on how
  352.       to accomplish this.
  353.  o  A simple answering machine if you don't want to have mailboxes.
  354.       In this case, only the Anonymous mailbox is active.
  355.  o  The ability to archive messages and faxes that you receive so
  356.       that you can recall them later on.
  357.  o  The ability to receive voice messages, faxes, and data calls
  358.       all on one line.  At this time, only GPFax is supported.
  359.       With some ARexx programming, other fax programs may be
  360.       substituted.  At this time, only AXsh (a non-standard,
  361.       but publically available BBS) is supported for handling
  362.       data calls.  All you have to do is install AXsh.
  363.  o  The ability to retrieve messages from a remote site by using
  364.       the remote site's touch tone keys.  Information about the
  365.       message can be played, such as the time and date of the message,
  366.       any telephone number left by the caller, or the telephone
  367.       number transmitted via the Caller-Id mechanism available
  368.       on some phone systems.
  369.  o  Silent answer -- if you pick up the phone before the program
  370.       does, it will eventually pick it up and listen in on your
  371.       conversation.  By pressing the appropriate keys on your touch-
  372.       tone phone, you can instruct AVM to handle the call as a fax
  373.       call or have it start recording your convesation.
  374.  o  Record Conversation -- you can use this to record important
  375.       conversations.  This is especially handy when dealing with
  376.       mail-order firms.  But, you need to tell
  377.       the other party that the conversation lest you get accused
  378.       of having an illegal phone tap.
  379.  o  Remote recording -- you can remotely record a personal greeting
  380.       for each mailbox.  In addition, some of the outgoing messages
  381.       can also be recorded from another telephone.
  382.  o  Pre Conversion -- with this feature, you will be able to
  383.       pre-convert voice files while your computer is not doing
  384.       anything interesting.  So, when you get home, you can click
  385.       on Play to play your message, and it will be immediately
  386.       played.  Otherwise, you would have to wait for the conversion
  387.       process to take place.
  388.  o  Immediate playing -- if you have a fast Amiga and you use a
  389.       compression mode that can be "uncompressed" quickly, you
  390.       can play the incoming voice files directly to the Amiga sound
  391.       system.  No intermediate conversion is necessary.  With this
  392.       feature, you don't have to use the Pre Conversion feature
  393.       (but you still can, if you want) and you don't have to wait
  394.       forever to hear your incoming messages.
  395.  o  Multiple greetings -- you can greet your callers depending on
  396.       the time of day, the day of the week, randomly, etc.  Plus,
  397.       you can record these greetings remotely.
  398.  
  399.  The AVM Suite is a major rewrite of ZVM, my first attempt at providing
  400.  answering machine capabilities to users of the Amiga and the Zyxel modem.
  401.  AVM now supports the LineLink 144e modem (some restrictions apply) and
  402.  the MTD Dolphin modem (a Zyxel compatible).
  403.  
  404.  The AVM Suite consists of a bunch of programs which all cooperate via
  405.  ARexx.  For example, when a call comes in and someone leaves a message,
  406.  the `Call Notifier' will show that there was a new message (the Count
  407.  would increase in the appropriate mailbox).  If there was a `LogView'
  408.  opened that was "viewing" the mailbox where the message was in, a new
  409.  entry would automatically be inserted into the view.  In other words,
  410.  changes to the mailboxes are broadcast to all the active programs
  411.  that are viewing a particular mailbox.
  412.  
  413.  The AVM Suite uses the server model.  Each modem that you want the AVM
  414.  Suite to handle incoming calls for, needs to have a server process (`AVM')
  415.  running for it.  The AVM server knows how many rings to wait for before
  416.  answering a ringing line.  When it gets the desired number of rings, it
  417.  dispatches an ARexx script on itself to handle the call.  I designed this
  418.  server to be able to run autonomously.  Therefore, it is possible to have
  419.  the AVM server running to handle all calls and not have the `Call Notifier'
  420.  or the `ServerMan' running.  This will definitely conserve memory, but at
  421.  a small cost.  The AVM server will not know if there are any messages being
  422.  "watched", so it will not be able to support the "Toll Saver" option.
  423.  And, you will have no real way of knowing whether there were messages left
  424.  on your computer, since that was the whole purpose of the `Call Notifier'.
  425.  But, as I said, if you can do without those two features, you can get away
  426.  with running just the AVM server.  Do this in low memory situations.
  427.  
  428. 2. Requirements
  429. ---------------
  430.  
  431.  o  AmigaDOS 2.04 or greater
  432.  o  MUI 1.4 or greater (someone tested it with MUI 2.0 and it works).
  433.  o  a Zyxel, a LineLink 144e, or a MTD Dolphin modem
  434.  o  ARexx - this is included with AmigaDOS 2.04 and up, but it may not
  435.       actually be running on your system.  Look in the startup-sequence
  436.       or the user-startup for a line containing "rexxmast" to be sure.
  437.       Alternatively, type in the following into a shell:
  438.  
  439.       rx "say hello world"
  440.  
  441.       If it prints HELLO WORLD in the shell, ARexx is running.
  442.  
  443.  o  a hard disk to store voice messages
  444.  o  1 meg of RAM (the more, the merrier)
  445.  o  an accelerated Amiga is desirable, but is not really a requirement
  446.  o  speakers hooked up to your Amiga would be nice
  447.  o  a sound digitizer would also be nice
  448.  o  a fast serial port is also desirable, but not a requirement.
  449.       I have been told that AVM does work with the IOExtender,
  450.       the Multiface II card, and the Multiface III card.
  451.  o  when using the AVM programmer, you need to be using at least a
  452.     640x400 screen (because of the size of the windows).
  453.  
  454. 3. Setting up
  455. -------------
  456.  
  457.  1.  Install MUI 1.4 or greater and ensure that it works by trying
  458.      out one of the MUI demos.  If you cannot get one of the demos
  459.      working, you can be sure that AVM won't work either.
  460.  
  461.  NOTE:  Instructions 2 through 7 can be skipped if you double-click
  462.    on the avm-install icon, which takes care of these steps for you.
  463.    This assumes that you already unarchived the avm1.11.lha archive
  464.    in some temporary directory.  It will copy the necessary files
  465.    from that temporary directory to the final directory and add the
  466.    necessary ASSIGNS to your user-startup file.  You will also be able
  467.    to choose what type of modem you have, what type of digitizer,
  468.    and the method by which you want to be informed of new calls.
  469.  
  470.  2.  Create a directory in which you want the AVM Suite to reside.  Use
  471.      the Workbench for this.
  472.  
  473.      a.  Find a place to put the AVM Suite on the Workbench.
  474.      b.  Press the right-mouse-button, select the Window menu, then
  475.          select the "New Drawer" option.  You will then be prompted
  476.          for a drawer name.  Enter "AVMSuite" (without the
  477.          quotation marks) in that requester.
  478.  
  479.      OR, if you prefer using the Shell,
  480.  
  481.      makedir work:AVMSuite
  482.      copy work:empty.info work:AVMSuite.info
  483.  
  484.      Note that if you use these "Shell" instructions, you will need
  485.      to go to the workbench afterwards, move the AVMSuite icon to
  486.      a new location, and use the Snapshot menu item in the Icons
  487.      menu of the workbench.
  488.  
  489.  3.  Unarchive the AVM archive while you are in the directory you
  490.      just created.
  491.  
  492.      cd work:AVMSuite
  493.      lha x ram:avm1.11.lha
  494.  
  495.  4.  Edit s:user-startup and add the following lines (but change the
  496.      directory name if you put AVM in some place other than
  497.      work:AVMSuite).
  498.  
  499.        assign avm: work:AVMSuite
  500.        assign avmtemp: ram:
  501.        assign avmrexx: avm:rexx
  502.  
  503.  5.  Open up the AVMSuite drawer from the WorkBench.
  504.  
  505.  6.  Make a directory called "voices" in the AVMSuite drawer.
  506.      From the CLI, just do a:
  507.  
  508.      makedir work:AVMSuite/voices
  509.                                          
  510.  7.  Open up the DefaultIcons drawer in the AVMSuite drawer.
  511.      If you have a LineLink144e modem, double-click on the
  512.      "useLineLink144e" icon.  If you have a Dolphin modem,
  513.      double-click on the "useDolphin" icon.  If you have a ZyXEL,
  514.      first find out what ROM version you have by typing in
  515.      "ATI1" in a terminal program (like Terminus, JR-Comm,
  516.      vt10029b, ATalk III, etc.).  Then find the icon entitled
  517.      "useZyXEL????" where the "????" are replaced by the ROM
  518.      version that you have on your modem.  If you have a ROM
  519.      version that does not have an icon, find an icon which is
  520.      closest to your ROM version.  Complete these instructions
  521.      and then test things out.  If you find that it doesn't work,
  522.      double-click on another icon and try it out.  If none of the
  523.      icons work, contact me.
  524.  
  525.      Next, you need to tell AVM what kind of sound digitizer you
  526.      have.  If you don't have one, then these instructions
  527.      do not apply to you.  If you have a Perfect Sound digitizer,
  528.      double click on the "usePerfectSound" icon.  Otherwise, double
  529.      click on the "useGenericDigitizer" icon.
  530.  
  531.      Finally, you need to tell AVM how you want to be informed
  532.      of new messages.  If you want to be informed of messages via
  533.      the AmigaDOS "say" command (AmigaDOS 3.0 and up users should check if
  534.      they have this command), double click on the "useSayAlert" icon.
  535.      If you want to be informed of messages via the Amiga's
  536.      power LED (it will flash the number of messages on the
  537.      power LED -- this may look like a Guru and scare you :), 
  538.      double click on the "useFlashAlert" icon.  If you want to be
  539.      informed by a prerecorded message (it plays an IFF file
  540.      called avm:have1message or avm:havemessages), click on the
  541.      "useSayPreRecAlert" icon.  If you *don't* want
  542.      to be informed of new messages, follow instructions for
  543.      the `Call Notifier' on how to "unwatch" mailboxes.
  544.  
  545.  8.  If your modem is not connected to serial.device unit 0, see 
  546.      `Ports Setup' for instructions on how to change the serial
  547.      device and/or the unit number.
  548.  
  549.  9.  If you have GPFax installed properly, double click on
  550.      the icon called "startAVMAndGPFax".  If you don't, double
  551.      click on the icon called "startAVM".  "startAVMAndGPFax"
  552.      will start GPFax in the correct mode, make it not listen to
  553.      the serial port, and will then run the necessary AVM programs.
  554.  
  555.      For GPFax to run with AVM, you need to make sure that in the
  556.      Environment window, the Shared flag is set.
  557.  
  558.      If you have a ZyXEL modem, the Modem Init string should be:
  559.  
  560.      AATE0V1X4&K3&C1&D2S0=0
  561.  
  562.      If you have a LineLink modem, the Modem Init string should be:
  563.  
  564.      AATE0V1X4&K3&C1&D2&R0S0=0
  565.  
  566.      NOTE:  GPFax shouldn't be running before you start AVM.
  567.  
  568.  10.  Run the Player program.  This will allow you to record each of
  569.      the required messages.  See the instructions for `Player' on how
  570.      to accomplish this.
  571.  
  572.      If you download the optional voice files (I am distributing them
  573.      in a separate archive since many people may want to record their
  574.      own voice.  However, some people may not have the time to fully
  575.      customize AVM with their voice.), you will need to copy all the
  576.      voice files into avm:voices.
  577.  
  578.      I would like people to make a standard set of voice messages for
  579.      different languages and put them in the public domain.  Here's
  580.      the naming convention I would like to keep (so people don't have
  581.      to download lots of stuff before finding out what's in it).
  582.      The .lha file should start with AVMV (to distinguish it from the
  583.      actual program distribution), a three letter specifier for the
  584.      language that's spoken (Eng=english, Fre=french, Fil=filipino,
  585.      Ger=german, Spa=spanish, etc.), then the compression used to
  586.      record (or, if it's an iff file, IFF followed by the sampling rate
  587.      you used).
  588.  
  589.      AVMVEngADPCM2.lha (zyxel, english, adpcm2)
  590.      AVMVEngLLCVSD7200.lha (linelink, english, cvsd7200)
  591.      AVMVEngIFF9600.lha (iff file, english, 9600 samples per sec.)
  592.  
  593.      It should be possible to release a set of IFF files and then
  594.      have the user convert these IFF files to the desired compression.
  595.      However, all the three modems I currently support each have
  596.      different sampling rates.  Maybe I should write a converter which
  597.      converts IFF files sampled at certain sampling rates to IFF files
  598.      at a different sampling rates.  Or maybe there is already a program
  599.      out there that does it.
  600.  
  601.      If you're running AVM as a simple answering machine and you get
  602.      pre-recorded voice files, the only messages you need to "customize"
  603.      are "intro1", "intro2", "intro3", and "MailboxGreeting".  The
  604.      "intro" files are played first (depending on the time of day,
  605.      one of the intro files will be played).  After the "intro" files
  606.      are played, the caller is put into the "Anonymous" mailbox,
  607.      which plays "MailboxGreeting", at which point the caller can
  608.      send a fax or wait for the beep to leave a message.  It is
  609.      entirely up to you on what message you want to tell him.  Maybe
  610.      you could say something like "Hi, this is Al's answering
  611.      machine.  Press 2 to send a fax or wait for the beep and leave
  612.      your message.  When you're done leaving your message, press 1.".
  613.  
  614.      If you are running AVM as the three mailbox system, you need
  615.      to reccord the file called "level0".  This file instructs a
  616.      caller on who they may leave messages or faxes for.  Unless
  617.      your names happen to be Al and Dory, you will need to re-record
  618.      this message :)  Also, you really should record the messages
  619.      described in the paragraph before this.
  620.  
  621.  11.  Test things out.  Pick up your phone, wait a few minutes until
  622.       the phone company gives up and makes your phone line go silent,
  623.       then click on Answer Voice in the ServerMan program.  This will
  624.       instruct AVM to pick up the phone and process it as though
  625.       you got a call.  Try leaving a message.  Then wait for AVM to
  626.       hang up.  Then click on Answer Voice again and try to retrieve
  627.       your message using the touch tone keys.
  628.  
  629.       NOTE:  On some phone systems, this will not work.  It depends
  630.       on the phone company.
  631.  
  632.  12.  To run AVM automatically when your computer reboots or is powered
  633.       on, you can drag and drop the startAVM or the startAVMAndGPFax
  634.       icons into your WBStartup drawer.
  635.  
  636.  13.  The file called StandardConfig in the AVMSuite directory should
  637.       be edited to your preferences.  In particular, when you first install
  638.       AVM, it defaults to acting like a simple answering machine.  If you
  639.       want to try out the multi-mailbox system, you will need to edit this
  640.       file.  There are also other parameters in this file that you can
  641.       change to alter the way AVM and its ARexx scripts work.  See
  642.       `Configuring with RXSET or SETENV' to see what the different
  643.       lines in this file means.  NOTE!  You will need to quit all the
  644.       AVM programs and restart AVM from either of the two provided scripts
  645.       (startAVM or startAVMAndGPFax) in order for your new configuration
  646.       to take effect.
  647.  
  648. 4. Modem Limitations
  649. ---------------------
  650.  
  651.  Although AVM was designed to handle multiple modems, it does not
  652.  currently handle multiple types of modems at the same time.  In other
  653.  words, you cannot have two different modem with different types on two
  654.  different serial ports.  You can, however, have two different modems
  655.  on two different serial ports if they are of the same type.
  656.  
  657.  I will fix this limitation in a future version of AVM.  The rest of
  658.  this chapter describes the individual limitations for each modem
  659.  type.
  660.  
  661. 4.1. ZyXEL
  662.  
  663.    o  If you have an E+ or greater, you can use the CELP compression.
  664.       However, there is no CELP decoder/encoder, which means that
  665.       you cannot play out these voice files through the Amiga's
  666.       sound system.
  667.  
  668.    o  If you have a lower ROM version than 6.10a, you should not use
  669.       ADPCM3.  If you have 6.10a or greater, you can use ADPCM3SYNC
  670.       compression.  I have personally tried using ADPCM3SYNC and
  671.       found that there are still problems with the ZyXEL decoder
  672.       losing sync.  This means that you will occasionally hear
  673.       scratchy noises.  Theoretically, with ADPCM3SYNC, if the ZyXEL
  674.       decoder loses sync, it should be resynced after 50 milliseconds.
  675.  
  676. 4.2. Dolphin
  677.  
  678.    o  As far as I know, the only available compression mode is ADPCM2.
  679.  
  680.    o  I have not written an encoder for it (it is slightly
  681.       different from Zyxel's ADPCM2), so you
  682.       cannot record through the Amiga.  You can, however, play
  683.       through the Amiga sound system.
  684.  
  685. 4.3. LineLink 14.4e
  686.  
  687.    o  The LineLink uses a compression called CVSD 14.4.  It can also
  688.       do SPC, but the decoder/encoder I wrote for it is not in tip-top
  689.       shape.  Try it to see if you like it.  Be aware, however, that
  690.       SPC uses more serial bandwidth and more diskspace.  It is, however,
  691.       fast to decode.  My encoder for SPC doesn't work very well.
  692.  
  693.    o  The LineLink cannot detect a calling fax automatically.  You will
  694.       need to tell your fax callers that they need to follow instructions
  695.       on how to activate your fax.
  696.  
  697.       I have implemented something that may enable you to receive faxes
  698.       automatically.  This only works when you use the two-mailbox
  699.       system I developed.  Normally, when a caller calls, he is instructed
  700.       to press 1 to start the mailbox system.  If he doesn't press 1, the
  701.       default goes into a mailbox called "anonymous".  See `Answer Priority'
  702.       to change this default to go into fax mode or data mode.
  703.  
  704. 5. Common Buttons and Options
  705. ------------------------------
  706.  
  707.  This chapter describes the buttons and options common to most of
  708.  the programs in the AVM Suite.  This allows me to be lazy.
  709.  
  710. 5.1. Play
  711.  
  712.  Click on this button to play the selected voice file through the
  713.  device in `Play to'.  You can stop the playing of a message by clicking
  714.  on the `Stop' button.
  715.  
  716. 5.2. Record
  717.  
  718.  Click on this button to record the selected voice file through the
  719.  device in `Record from'.  Again, click on the `Stop' button to stop
  720.  the recording process.
  721.  
  722.  After clicking on the record button, watch the modem lights and
  723.  wait for the RXD (on the Zyxels) or the IO (on the LineLinks) before
  724.  speaking.  Depending on the speed of your computer, there could
  725.  be a slight delay before the modem actually starts recording.  This
  726.  is because I need to send commands to the modem to actually start
  727.  recording.
  728.  
  729. 5.3. Stop
  730.  
  731.  This stops recording or playing.  At this time, you cannot stop
  732.  the conversion process once it has begun.  Every time you play
  733.  something or record something through the Amiga, a converter
  734.  kicks in.  This converter isn't abortable yet.
  735.  
  736. 5.4. Play to
  737.  
  738.  There are several options that you can choose from.  Some of these
  739.  options are not available for some of the modems.
  740.  
  741. 5.4.1. Amiga
  742.  
  743.  This option is available only if I have a decoder for the compression
  744.  you choose for the voice file.  This option will first convert
  745.  the voice file into an IFF file (avmtemp:temp.iff) and then play
  746.  it using "AGMSPlaySound".  The actual playing is abortable but the conversion
  747.  process is not.  Note that I cache the last played file so that you
  748.  can keep playing it without going through the conversion process.
  749.  
  750.  The ARexx script activated by this option is playamiga.avm.  You can
  751.  modify this script if you would like to use a different player.
  752.  
  753. 5.4.2. TelephoneLine
  754.  
  755.  This option allows you to play voice files through the telephone line.
  756.  
  757.  To use this option, you should first remove the dial tone.  You can do
  758.  this by pressing a few touch tone keys.  Or, you can pick up the phone
  759.  and wait for the telephone company to give up on you. <<need to check
  760.  if it plays even if you disconnect the phone line from the modem>>
  761.  
  762.  NOTE:  To be able to play/record through the Telephone Line, you need
  763.  to ensure that the modem and the telephone are on the same line.  The
  764.  telephone should *not* be plugged into the back of the modem.  One
  765.  way to make sure that you can play/record through the Telephone Line
  766.  is to pick up the phone while you are using the modem during a data
  767.  connection.  If you can hear high pitched sounds, then you should
  768.  be able to listen or record through the Telephone Line.
  769.  
  770. 5.4.3. InternalSpeaker
  771.  
  772.  This will play voice files through the modem's internal speaker.  The
  773.  LineLink doesn't support this.
  774.  
  775. 5.4.4. IFF
  776.  
  777.  This will actually perform a conversion from the voice file to an
  778.  iff file.  This option is only valid if there is a decoder available
  779.  for the compression scheme that you used.  In this version, the
  780.  output IFF file is avmtemp:save.iff.  A future version will allow you
  781.  to pick the name of the IFF file.
  782.  
  783. 5.4.5. AmigaDirect
  784.  
  785.  This option plays voice files while it is decoding them.  This results
  786.  in a small delay from the time you press play to the time it actually
  787.  plays (unlike the `Amiga' option, which converts the whole voice file
  788.  first).  Note that you can only use this option if you have a fast
  789.  Amiga.  It works on my A3000/25.  Try it out on your system to see if
  790.  it's fast enough.  If it is, you'll like this option.
  791.  
  792. 5.5. Record from
  793.  
  794.  As with `Play to', there are several options to choose from.  Again,
  795.  some of these options may not be available for some modem types.
  796.  
  797. 5.5.1. Amiga (Record)
  798.  
  799.  This option will activate the rexx script recordamiga.avm.  This
  800.  script calls AGMSRecordSoundPS3.  It will call AGMSRecordSound (a
  801.  version that works with most generic digitizers) if you instruct
  802.  it to (by double-clicking on the useGenericDigitizer icon).
  803.  It calls the digitizing software in such a way that the output is
  804.  avmtemp:temp.iff.  This IFF file is then converted into the
  805.  appropriate voice file by a converter.
  806.  
  807. 5.5.2. TelephoneLine (Record)
  808.  
  809.  This allows you to record your messages using the telephone line.
  810.  The only way to get this to work is to pick up the phone and get
  811.  rid of that dial tone somehow.  As with `Play to', you can do this
  812.  by entering a few touch tone keys.  Unfortunately, on some systems,
  813.  after a while, you'll get the annoying phone company message to 
  814.  put down the phone.  You could wait this out until the phone company
  815.  gives you just silence.
  816.  
  817.  What I do is to wait for this silence and record all the messages
  818.  I need to in one session.
  819.  
  820. 5.5.3. ExternalMic
  821.  
  822.  This option only works with the ZyXEL modem.
  823.  
  824.  Warning, DO NOT use this option if the modem is still plugged into
  825.  the phone line.
  826.  
  827.  To record with this option, disconnect the modem from the phone line,
  828.  plug in the handset (some telephones have a handset which plugs
  829.  into the actual phone) into the "line" jack of the modem, and speak
  830.  into the ear part of the handset (not where you usually talk into).
  831.  
  832.  The reason you should not plug the modem into the phone line when
  833.  using this option is that the modem amplifies the signal.  If the
  834.  modem is plugged into the telephone line, the line signal would be
  835.  amplified and could destroy your modem's internal circuitry.
  836.  
  837. 5.5.4. IFF (Record)
  838.  
  839.  This is similar to the Amiga option, except it doesn't actually call
  840.  the digitizing software.  It assumes that the software placed the
  841.  IFF file in avmtemp:save.iff.  A future version will
  842.  give you a requester to choose the IFF file you want to convert
  843.  into a voice file.
  844.  
  845. 5.6. Server
  846.  
  847.  This is the name of the server that will be played to or recorded
  848.  from.  To change this, click on the popup gadget beside the name
  849.  of the field.  The compression mode that the server is using
  850.  is displayed beside the name of the server.
  851.  
  852. 5.7. Quit
  853.  
  854.  Hmmm...I wonder what this is for :)
  855.  
  856. 6. Player
  857. ---------
  858.  
  859.  This program allows you to record/play all of the required
  860.  outgoing messages.
  861.  
  862. 6.1. Configure the player
  863.  
  864.   Specifically, make sure the `Play to', the `Record from' and the
  865.   `Server' options are what you want them to be.
  866.  
  867. 6.2. Record your outgoing messages
  868.  
  869.  Go through each entry that has a "No" in the "Rec?" column and
  870.  `Record' a message for it.  What you have to say in that entry would
  871.  be displayed in the "What you should say" box.  After recording,
  872.  you should `Play' the message to make sure it's correct.
  873.  
  874.  Try to stop recording by using the `Stop' button as soon as you finish
  875.  talking.  AVM "glues" voice messages together for certain things.
  876.  For example, when playing the date of a message, it "glues" the
  877.  Month voice file with the appropriate number voice files to produce
  878.  the date.  On slow machines, you may actually need to stop recording
  879.  before finishing speaking because there is a slight delay between the
  880.  time that you press the stop button and the recording actually stops.
  881.  
  882. 7. ServerMan
  883. -------------
  884.  
  885.  ServerMan shows you all the servers active in a listview.  It shows you
  886.  the name of the server and its status.  If you have several modems
  887.  and serial ports, these would appear in the listview.
  888.  
  889.  You can select a server by clicking on the appropriate item in the
  890.  listview.  After selecting an item, there are several things you
  891.  can do to it.
  892.  
  893.  There is a cycle gadget just below the listview.  This cycle gadget
  894.  allows you to see some of the buttons while hiding others.  This
  895.  is intended to make this program less cluttered by presenting you
  896.  with buttons that you will most commonly use and hiding buttons
  897.  which you would normally not use.
  898.  
  899. 7.1. Answer Voice
  900.  
  901.  This makes the server answer the phone as though the appropriate number
  902.  of rings was seen by the modem.  In other words, the ARexx script
  903.  in `Voice Call default', `Voice Call Ring 1', `Voice Call Ring 2', ...
  904.  is called.  If no RING was seen or an unqualified RING was seen, the
  905.  default ARexx script is called.  If a RING which was qualified (RING 1,
  906.  RING 2, ...) was seen, the appropriate Voice Call n script would be
  907.  called.
  908.  
  909. 7.2. Answer Fax
  910.  
  911.  This makes the server answer the phone as though a fax had been detected.
  912.  The ARexx script in `Fax Call' gets called.  This defaults to
  913.  handlefax.avm
  914.  
  915. 7.3. Record Conversation
  916.  
  917.  This feature is really useful for getting evidence against mail-order
  918.  companies :)  Unfortunately, in the US, you are required by law to
  919.  tell the party that the call is being recorded.  Nevertheless, it'll
  920.  at least keep them honest.
  921.  
  922. 7.4. Answer Data
  923.  
  924.  This button is similar to the `Answer Fax' button.  The only difference
  925.  is that it calls the ARexx script in `Data Call'.
  926.  
  927. 7.5. Abort Action
  928.  
  929.  This button aborts any actions that may be active in the currently
  930.  selected server.  This is a useful button especially when a call comes
  931.  in and AVM answers the phone.  You can make AVM shut up by clicking
  932.  on this button.  This button sends a general abort to the server.
  933.  This general abort message would even abort an action started by
  934.  a different program.  For example, if you're playing/recording a voice
  935.  file through the `Player', you can abort it either with the Player's
  936.  Abort button or with this button.
  937.  
  938.  
  939. 7.6. Close Serial
  940.  
  941.  Instructs the server to close the serial port.  This really shouldn't
  942.  be necessary since the AVM Server supports the sharing of the serial
  943.  port. It is better to just put the AVM Server in `Unlisten' mode.
  944.  In addition to supporting the sharing of serial port, the AVM Server,
  945.  with the appropriate option in the `Server Config' program set,
  946.  also supports the OwnDevUnit protocol for sharing the serial port.
  947.  
  948. 7.7. Open Serial
  949.  
  950.  This opens the serial port.  Sometimes, when AVM starts up, it can't
  951.  open the serial port because another program was using it in an
  952.  unfriendly way.  This is a good way to open the serial port in such
  953.  cases (but you need to first kill the program that was unfriendly).
  954.  
  955. 7.8. Unlisten
  956.  
  957.  This button makes AVM not listen to the serial port.  It doesn't
  958.  cause AVM to close the serial port.  It just aborts any pending
  959.  reads that AVM may have.  This allows other programs to open up
  960.  the serial port, change serial port parameters, etc.
  961.  
  962. 7.9. Listen
  963.  
  964.  This button reverses the action of the `Unlisten' button.
  965.  
  966. 7.10. Use Fax
  967.  
  968.  This calls the script avmrexx:usefax.avm.  At this time, it is configured
  969.  to make AVM unlisten and GPFax to listen to the serial port.
  970.  
  971. 7.11. Unuse Fax
  972.  
  973.  This calls the script avmrexx:unusefax.avm.  This currently makes
  974.  GPFax unlisten and AVM listen.
  975.  
  976. 7.12. Use Data
  977.  
  978.  This calls the script avmrexx:usedata.avm.  This currently makes
  979.  AVM unlisten.
  980.  
  981. 7.13. Unuse Data
  982.  
  983.  This calls the script avmrexx:unusedata.avm.  This currently makes
  984.  AVM listen.
  985.  
  986. 7.14. Start Server
  987.  
  988.  If the currently selected server isn't active, this button activates
  989.  it.  This button, together with the `Kill Server' button is
  990.  needed if you change the server parameters in `Server Config'.  A
  991.  future version of AVM may instruct the servers to use any new
  992.  parameters that may be set.
  993.  
  994. 7.15. Kill Server
  995.  
  996.  This issues a quit message to the appropriate server.  You can quit
  997.  the server when it is waiting for a RING, has closed its serial
  998.  port, or is in unlisten mode.  You cannot kill a server if it is
  999.  doing something else (like answering a call, playing a voice file,
  1000.  etc.).
  1001.  
  1002. 8. Call Notifier
  1003. -----------------
  1004.  
  1005.  This program is basically a flat view of all the mailboxes.  It shows
  1006.  you all the mailboxes, the number of messages in those mailboxes, and
  1007.  whether you wanted to be informed that there were new messages or not
  1008.  for a particular mailbox.
  1009.  
  1010.  Basically, if there is a * in the Watch field of the mailbox entry,
  1011.  then the program will tell you that there are new messages.  It does
  1012.  this via the alertmessages.avm ARexx script.  The default action
  1013.  to inform you of messages is to "say" something.  If you don't like
  1014.  this behaviour, you can either "unwatch" all the mailboxes, change
  1015.  the actions within alertmessages.avm, or delete the script altogether.
  1016.  
  1017.  There is a cycle gadget just below the listview.  If you click on this
  1018.  cycle gadget, you will gain access to some of the buttons.  Normally,
  1019.  the cycle gadget should read "Mailbox Controls".  The buttons when
  1020.  this cycle gadget is on the default are buttons which you normally use.
  1021.  However, there are circumstances when you want to access the other buttons
  1022.  (for example, you may wish to change the names of the mailboxes).  In that
  1023.  case, click on this gadget to access the "Configure" buttons.
  1024.  
  1025. 8.1. Open Mailbox
  1026.  
  1027.  Depending on the mailbox type, it could open a `LogView' or
  1028.  a `Scheduler' window for the mailbox that was selected.
  1029.  
  1030. 8.2. Config Mailbox
  1031.  
  1032.  This opens a `Mailbox Config' window for the selected mailbox.
  1033.  
  1034. 8.3. Add Mailbox
  1035.  
  1036.  This pops up a requester wherein you can type a new mailbox name.
  1037.  The program then creates the appropriate directories and default
  1038.  config files for that mailbox.  For the unregistered version, this
  1039.  is pretty useless since you cannot add mailboxes to the
  1040.  Answer Voice scripts.
  1041.  
  1042. 8.4. Delete Mailbox
  1043.  
  1044.  This deletes the mailbox.  Only user-created mailboxes can be deleted.
  1045.  Some of the mailboxes (anonymous, outgoing, outgoingarchive, etc.)
  1046.  are locked and cannot be deleted.  They are required for the correct
  1047.  operation of AVM.
  1048.  
  1049. 8.5. Watch Mailbox
  1050.  
  1051.  This is a toggle function.  This causes the mailbox to be watched
  1052.  by the Call Notifier program.  If there are any messages in any of the
  1053.  "watched" mailboxes, the Call Notifier will inform you. 
  1054.  
  1055. 8.6. Rescan All Mailboxes
  1056.  
  1057.  This button goes through each mailbox and counts the number of
  1058.  messages in each mailbox.
  1059.  
  1060.  This button isn't really needed.  Normally, when a new message is
  1061.  added to a mailbox, this fact is broadcast to all interested parties.
  1062.  This includes the Call Notifier program.
  1063.  
  1064.  This button is here just in case the Call Notifier somehow missed
  1065.  a broadcast (this should never happen, though) from the AVM Server
  1066.  that a new message has arrived in a particular mailbox.
  1067.  
  1068. 8.7. Save (CallNotifier)
  1069.  
  1070.  This button saves the Watch configuration.  You can temporarily
  1071.  unwatch a particular mailbox.  But, when you quit the program or
  1072.  reset the machine, the old Watch configuration will come back up.
  1073.  
  1074. 8.8. Shut Up
  1075.  
  1076.  This button shuts the Call Notifier up.  If you get annoyed with
  1077.  it telling you that you have messages, click on this button.  The
  1078.  Call Notifier will begin telling you that you have messages again
  1079.  if there is an addition to a watched mailbox.
  1080.  
  1081. 8.9. Real Name
  1082.  
  1083.  When you select a mailbox, its name will appear in a string gadget.
  1084.  When you edit this string gadget, the name will be modified.  You will
  1085.  then have to save the new configuration if you want to keep that new
  1086.  name the next time you start up the Call Notifier.
  1087.  
  1088. 9. LogView
  1089. -----------
  1090.  
  1091.  This program shows you all the messages for a particular mailbox.
  1092.  It provides you with information on each message such as the Time/Date
  1093.  the message came in, its type (Voice, Fax, Unknown), and its length
  1094.  in seconds.
  1095.  
  1096.  When you select a particular message in the listview, additional
  1097.  information is displayed.  This includes a Comment,
  1098.  CID Name, CID Number, and Return Number.
  1099.  
  1100. 9.1. Comment
  1101.  
  1102.  For faxes, this field tells you how many pages the fax had.  This
  1103.  field is user-modifiable.  You can archive a message and type
  1104.  in a comment in this field so that you know what the message contained
  1105.  without having to listen to the message again.
  1106.  
  1107. 9.2. Name
  1108.  
  1109.  This field displays the CID Name, if there was one.
  1110.  
  1111. 9.3. Number
  1112.  
  1113.  This field displays the CID Number, again, if there was one.
  1114.  
  1115. 9.4. Return Number
  1116.  
  1117.  If the caler enters a telephone number via the "poor man's
  1118.  caller id" feature, it will be displayed here. 
  1119.  
  1120. 9.5. Play or View
  1121.  
  1122.  You can select a message and hit this button to get it played
  1123.  or viewed, if it's a Voice or Fax type.  Alternatively, you can
  1124.  just double-click on the listview entry.
  1125.  
  1126.  If the entry is a fax, GPFax will display the fax.
  1127.  
  1128. 9.6. Reply
  1129.  
  1130.  This creates a log entry in the `Scheduler' and opens a
  1131.  `SchedulerView' for it.  This is useless for UNREGISTERED
  1132.  users since you don't have the scheduler.
  1133.  
  1134. 9.7. Archive
  1135.  
  1136.  This puts the message or fax in the Archive mailbox.  If you are
  1137.  already viewing the Archive mailbox, then this button doesn't do
  1138.  anything.
  1139.  
  1140. 9.8. Delete
  1141.  
  1142.  This deletes the log entry and the voice or fax files associated.
  1143.  At this time, this action is a bit slow.  The reason for this is that
  1144.  this button activates an ARexx script which actually deletes the
  1145.  log entry and its associated voice or fax files.  It deletes those
  1146.  files using the Shell's Delete program.  To speed up this action,
  1147.  you can make the Delete program resident.
  1148.  
  1149. 9.9. Save Log
  1150.  
  1151.  If you have changed anything in a particular log entry that you
  1152.  want to save, click on this button.  For example, if you changed
  1153.  the comment of a log entry, you need to click on this to get it
  1154.  saved.  You don't need to use this option if you are archiving
  1155.  the log entry (that automatically saves the entry before sending
  1156.  it off to the archive mailbox).
  1157.  
  1158. 9.10. Choose Mailbox
  1159.  
  1160.  At the top of the window is the name of the mailbox being viewed.  You
  1161.  can change the mailbox being viewed by typing it in, or by clicking
  1162.  on the "select" popup gadget to the right of the field.  Then, double
  1163.  click on the name of the mailbox you want to view (in the listview that
  1164.  pops up).
  1165.  
  1166. 10. Mailbox Config
  1167. ------------------
  1168.  
  1169.  This program allows you to configure the options that the mailbox
  1170.  may have.  If you don't have a scheduler, some of these options
  1171.  are pretty useless.  The only thing of interest to UNREGISTERED
  1172.  users would be the `Password'.  This is what you need to type
  1173.  in to gain access to the maintenance mode.
  1174.  
  1175. 10.1. Password
  1176.  
  1177.  This is the password necessary to get you into maintenance mode.
  1178.  From maintenance mode, you can also retrieve your messages,
  1179.  record a personal message, change the password, etc.  All of this
  1180.  can be done remotely.
  1181.  
  1182. 10.2. Forward Faxes
  1183.  
  1184.  When this option is enabled, any new faxes are automatically forwarded
  1185.  to the number in the Tel. # field.
  1186.  
  1187. 10.3. Call Sysop
  1188.  
  1189.  When new messages are received and you have the Scheduler, AVM will
  1190.  call you up at a particular telephone number.
  1191.  
  1192. 10.5. Call Pager
  1193.  
  1194.  If you have a pager, this option will let AVM call your pager when
  1195.  a new fax or message arrives at your mailbox.
  1196.  
  1197.  With the On Demand option enabled, this paging will not occur unless
  1198.  the caller records a message and chooses the "Call Pager" option.  If
  1199.  the On Demand option is disabled, then the paging mechanism is
  1200.  activated even if the caller doesn't request the "Call Pager" option
  1201.  after leaving a message.
  1202.  
  1203.  The Script field contains the name of the ARexx script that is called
  1204.  to accomplish this paging mechanism.
  1205.  
  1206. 10.6. Alert Sysop
  1207.  
  1208.  When a caller enters a mailbox, the Amiga will inform the "sysop" that
  1209.  a mailbox was entered.  This is useful if you only want to pick up
  1210.  the phone when a certain mailbox was accessed.
  1211.  
  1212.  With the On Demand option enabled, the Amiga will not alert you
  1213.  when the mailbox is accessed unless the caller leaves a message and
  1214.  actually chooses the "Alert" option.  If the On Demand option is
  1215.  disabled, the Alert mechanism is activated once the caller enters
  1216.  a mailbox.
  1217.  
  1218.  The Script filed contains the name of the ARexx script that is called
  1219.  to accomplish the alerting mechanism.
  1220.  
  1221. 10.7. Save
  1222.  
  1223.  This saves your options.
  1224.  
  1225. 10.8. Cancel
  1226.  
  1227.  This cancels everything.
  1228.  
  1229. 11. Server Config
  1230. -----------------
  1231.  
  1232.  The Server Config program allows you to create new servers, or configure
  1233.  the currently available servers.
  1234.  
  1235. 11.1. Server Config (Button)
  1236.  
  1237.  This button opens up a window which has a bunch of options which you may
  1238.  set for the currently selected server.  At the top of the Server Setup window
  1239.  is a cycle gadget.  By selecting an item in the cycle gadget, the gadgets
  1240.  presented to you below change.
  1241.  
  1242. 11.1.1. Ports Setup
  1243.  
  1244. 11.1.1.2. ARexx Port Name
  1245.  
  1246.  This is the name of the ARexx port of the server.  You should not include any
  1247.  spaces in the name.
  1248.  
  1249. 11.1.1.3. Serial Port
  1250.  
  1251.  This is the device name of the port that the modem is hooked up to.
  1252.  
  1253. 11.1.1.4. Unit Number
  1254.  
  1255.  This is the unit number of the port that the modem is hooked up to.
  1256.  
  1257. 11.1.2. Scripts setup
  1258.  
  1259.  This set of gadgets allows you to change the names of the scripts that
  1260.  are called when certain events occur.
  1261.  
  1262. 11.1.2.1. Voice Call default
  1263.  
  1264.  This is the name of the ARexx script that gets called when the server
  1265.  is instructed to pick up the line and no ring was received or an unqualified
  1266.  RING was received.  If you have the distinctive ring feature, and you enable
  1267.  it, then the server will only use this script if no ring was received.
  1268.  
  1269.  To enable distinctive ring or CID, you need to consult your modem's manual.
  1270.  
  1271. 11.1.2.2. Fax Call
  1272.  
  1273.  This is the ARexx script that gets called to handle a fax call.
  1274.  
  1275. 11.1.2.3. Data Call
  1276.  
  1277.  This is the ARexx script that gets called to handle a data call.
  1278.  
  1279. 11.1.2.4. Silent Answer
  1280.  
  1281.  This is the ARexx script that gets called if the phone stops ringing
  1282.  before reaching the number of rings required for AVM to pick up the line *and*
  1283.  the number of rings received is greater than or equal to the number in
  1284.  `Silent Answer rings'.
  1285.  
  1286. 11.1.2.5. Record Conversation (Script)
  1287.  
  1288.  Script to handle recording a conversation.
  1289.  
  1290. 11.1.2.6. Voice Call Ring 1
  1291.  
  1292.  Script called when the modem receives a type 1 ring.
  1293.  
  1294. 11.1.2.7. Voice Call Ring 2
  1295.  
  1296.  Script called when the modem receives a type 2 ring.
  1297.  
  1298. 11.1.2.8. Voice Call Ring 3
  1299.  
  1300.  Script called when the modem receives a type 3 ring.
  1301.  
  1302. 11.1.2.9. Voice Call Ring 4
  1303.  
  1304.  Script called when the modem receives a type 4 ring.
  1305.  
  1306. 11.1.2.10. Ring Script
  1307.  
  1308.  This script gets called right after the modem receives a ring from
  1309.  the modem.
  1310.  
  1311.  This script gets called with the variables "RINGS", "DISTINCTIVERING",
  1312.  "CIDNAME", and "CIDNUMBER" set.  If you type in "AlertRing" into this
  1313.  field, the file "avmrexx:alertring.avm" gets run on each ring (except
  1314.  the last ring before AVM decides to answer the phone).  At this time,
  1315.  "AlertRing" uses AGMSPlaySound to play an IFF file called "avm:ring.iff".
  1316.  Note that it only plays the ring between the hours of 9am and 11pm.
  1317.  This is what I currently use so that people can call up my system
  1318.  late at night to log onto my system.  This way, I don't hear the rings
  1319.  at all.
  1320.  
  1321.  Another use of this Ring Script is to announce the name of the caller
  1322.  or his telephone number.  This script gets called with CIDNAME and
  1323.  CIDNUMBER for this purpose.  The type of distinctive ring is placed
  1324.  in the variable DISTINCTIVERING.  The number of rings received so
  1325.  far is placed in the variable RINGS.
  1326.  
  1327.  Yet another use of this script is to log information to some file
  1328.  (or another program) that a call was received at a certain time.
  1329.  This is useful if you just want to know if your phone rang while
  1330.  you were out.
  1331.  
  1332. 11.1.3. Rings setup
  1333.  
  1334. 11.1.3.1. Rings with messages
  1335.  
  1336.  This is the number of rings required to be seen by AVM before picking up
  1337.  the phone *when* there are messages in any of the "watched" mailboxes.  This
  1338.  feature only works if the `Call Notifier' program is active.
  1339.  
  1340. 11.1.3.2. Rings without messages
  1341.  
  1342.  This is the number of rings required to be seen by AVM before picking up
  1343.  the phone when there are no messages in any of the "watched" mailboxes.
  1344.  
  1345. 11.1.3.3. Silent Answer rings
  1346.  
  1347.  If the phone stops ringing before AVM answers the phone and the number
  1348.  of rings seen is greater than or equal to this value, then the Silent Answer
  1349.  feature is activated.
  1350.  
  1351. 11.1.4. Voice parms setup
  1352.  
  1353. 11.1.4.1. Modem Type
  1354.  
  1355.  There are three types of modems that are supported.  This option selects
  1356.  one of the three (ZyXEL, Dolphin, LineLink).
  1357.  
  1358. 11.1.4.2. Setup String
  1359.  
  1360.  This is the string (usually an AT command) that is sent to the modem
  1361.  prior to entering voice mode.  This is usually AT&F or ATZ to reset
  1362.  the modem.  You can also use this setup string to enable distinctive
  1363.  ring or CID options (see your modem's manual on how to accomplish that).
  1364.  
  1365. 11.1.4.2. Voice Setup String
  1366.  
  1367.  This is the string that is sent to the modem after entering voice mode.
  1368.  You can use this string to add or modify voice parameters that were
  1369.  not handled by the program.  For example, you can use this string to
  1370.  adjust the voice recording gain of the LineLink modem (use AT#VG=x,
  1371.  where x is the gain.  119 is the default value).
  1372.  
  1373. 11.1.4.3. Max rec len (secs)
  1374.  
  1375.  This is the maximum number of seconds that a recording is allowed to
  1376.  be.  This timeout is there because sometimes, the modem doesn't detect
  1377.  hangups correctly.  Without this timeout, you could easily fill up
  1378.  your hard disk.
  1379.  
  1380. 11.1.4.4. Silence Interval
  1381.  
  1382.  This is the number 10ths of seconds of silence required before the modem
  1383.  reports to AVM that it has heard silence.  The default value is 70, which
  1384.  translates to 7 seconds.
  1385.  
  1386. 11.1.4.5. Silence threshold
  1387.  
  1388.  This is an adjustable parameter for telling the modem what to treat as
  1389.  silence.  Note that the LineLink modem has two settings only (16 or 17).
  1390.  
  1391. 11.1.4.6. Compression
  1392.  
  1393.  Your modem compresses voice data to reduce the amount of storage needed
  1394.  for the resulting voice files.  Some compressions are better than others.
  1395.  
  1396.  ZyXEL modem users should choose between ADPCM2, ADPCM3, CELP, ADPCM2SYNC,
  1397.  or ADPCM3SYNC.  Note that ADPCM3 doesn't work for me.  ADPCM3SYNC is supposed
  1398.  to work, but it has the same symptoms as ADPCM3 (scratchy noise).
  1399.  CELP only works for E+ or greater modems.
  1400.  
  1401.  MTD Dolphin users have only one compression, MTDADPCM2.
  1402.  
  1403.  LineLink users have only one compression available, LLCVSD7200.
  1404.  
  1405. 11.1.4.7. Ringback
  1406.  
  1407.  Ring goes away and ring never appears.
  1408.  
  1409.  These two parameters are for dial-out only.  They tell the modem
  1410.  how long to wait for the ring signal to go away or how long to wait
  1411.  if it doesn't ring.  When calling out, the modem listens for ringing.
  1412.  If it doeesn't receive a ring before the Ringback Never Appears timer
  1413.  goes off, it will assume that the called party picked up the phone.
  1414.  On the other hand, if it got a ring, it will keep listening for rings.
  1415.  If it doesn't hear a ring before the timer goes off, it will assume
  1416.  that the called party picked up the phone.
  1417.  
  1418.  Both parameters are in 10ths of seconds.
  1419.  
  1420. 11.1.4.8. AVMTemp for Record
  1421.  
  1422.  Certain computer setups cannot handle receiving serial data and
  1423.  writing to the hard disk at the same time (you tend to lose characters
  1424.  or get serial port errors).  If this is the case, or if you want to
  1425.  avoid writing to the hard disk in small increments, select this option.
  1426.  This will write the voice file to AVMTemp: (which is usually RAM: )
  1427.  first.  When the recording is done, it is transferred to the hard disk.
  1428.  
  1429. 11.1.4.9. AVMTemp for Play
  1430.  
  1431.  Certain setups cannot handle reading from the hard disk and writing
  1432.  to the serial port.  Check this option if you have trouble playing
  1433.  voice files directly from the hard drive.
  1434.  
  1435. 11.1.4.10. Use OwnDevUnit
  1436.  
  1437.  This instructs the AVM Server to use OwnDevUnit.  This allows AVM to
  1438.  coexist with other programs that use this form of serial port locking
  1439.  mechanism.
  1440.  
  1441. 11.1.4.11. Tone Dial
  1442.  
  1443.  This is the method to be used when dialing (enable this gadget for touch
  1444.  tone or disable it for pulse) a number.
  1445.  
  1446. 11.1.4.12. Max Wait For Answer
  1447.  
  1448.  This is the number of seconds AVM will wait for the phone being dialed
  1449.  to be picked up.
  1450.  
  1451. 11.1.5. Advanced Flags
  1452.  
  1453.  These flags help to configure the AVM Server.  You really shouldn't have
  1454.  to touch these flags.  Contact me if you are considering changing any
  1455.  of the default settings.
  1456.  
  1457. 11.1.5.1. Enable or Disable Flag
  1458.  
  1459.  This enables or disables a particular flag.  If a "#" symbol precedes
  1460.  the name of the flag, it is disabled.
  1461.  
  1462. 11.1.5.2. Add Flag
  1463.  
  1464.  Allows you to add a flag of your own.  You really shouldn't have to
  1465.  do this.
  1466.  
  1467. 11.1.5.3. Delete Flag 
  1468.  
  1469.  Allows you to delete one of the flags.
  1470.  
  1471. 11.2. Add Server
  1472.  
  1473.  Allows you to add a new server.  As mentioned before, you cannot mix two
  1474.  different kinds of modems on the same system.  This is because it is quite
  1475.  complicated to have two sets of voice files for each modem type.  Plus, if
  1476.  someone leaves a message using one modem, you will not be able to retrieve
  1477.  the message from the other modem.  Until I figure a nice way of doing this,
  1478.  the restriction stays.
  1479.  
  1480. 11.3. Delete Server
  1481.  
  1482.  Deletes one of the servers.
  1483.  
  1484. 11.4. Save (Server Config)
  1485.  
  1486.  Saves the configuration of the servers.  If you change any of the parameters,
  1487.  you should click on this gadget to save the changes.  Then, you will need
  1488.  to kill the server if it is active (use `Kill Server') and restart it
  1489.  (use `Start Server').
  1490.  
  1491.  
  1492. 12. Logger
  1493. -----------
  1494.  
  1495.  The logger is a program which prints useful debugging information
  1496.  from the servers and from the ARexx scripts that are run to control
  1497.  the servers.  It is really not too useful if AVM works for you.  In
  1498.  fact, you should, in general, not run the Logger as it slows down
  1499.  the system since it prints a *lot* of debugging information.
  1500.  
  1501. 12.1. Save (Logger)
  1502.  
  1503.  The "logger" automatically writes to a file called "ram:logger.save"
  1504.  after every 200 lines of debugging information that it receives.  If you
  1505.  wish to manually save what is in the buffer, click on this gadget.
  1506.  Every time the buffer is saved (it is appended to the above-mentioned
  1507.  file), the listview is cleared.
  1508.  
  1509. 13. AVM
  1510. -------
  1511.  
  1512.  AVM is the server that runs in the background.  It has no user interface
  1513.  and can only be run from the CLI.  When `ServerMan' starts, it runs
  1514.  all the servers it knows about.
  1515.  
  1516.  If you wish to run the AVM server manually, its CLI template is:
  1517.     avm servername/a
  1518.  where servername is the ARexx port name you gave it using the `Server Config'
  1519.  program.  Remember that you should probably use the "run" command when
  1520.  running the AVM server manually, as in:
  1521.     run >nil: <nil: avm Server.lin
  1522.  
  1523.  The only way to tell that the AVM server is running is through
  1524.  the `ServerMan' program.
  1525.  
  1526. 14. Remote Caller instructions
  1527. ------------------------------
  1528.  
  1529.  This chapter describes the "user interface" presented to a caller
  1530.  of this system.
  1531.  
  1532.  When somebody calls, the initial message is played.  This instructs
  1533.  the caller to press 1 to start voicemail, 2 to send a fax, 5 to start
  1534.  data mode (runs a BBS), or * to hangup (this is useful if you pick
  1535.  up the phone too late and would like AVM to hang up).
  1536.  Any other key would repeat the instructions.  If a fax tone is
  1537.  received, then the fax program is automatically started.  If a data
  1538.  tone is received (some newer modems emit modem calling tones), the data
  1539.  program (BBS) is started.  At this time, the only fax program that is
  1540.  supported is GPFax and the only BBS supported is AXsh.  I think it
  1541.  should be easy to support other types of BBSes, but would require more
  1542.  thought to support other FAX programs.  avmrexx:startbbs.avm is the
  1543.  script that actually runs AXsh.
  1544.  
  1545.  If the caller doesn't enter anything (which happens often especially
  1546.  if people don't expect a voicemail system when they call up somebeody
  1547.  or if they don't have a touch tone phone), the caller is put into the
  1548.  'anonymous' mailbox.  This allows them, at the very least,
  1549.  to leave a message.  Some people may wish to change this default
  1550.  action (contact me or register the program)
  1551.  so that if nobody presses any key, either the fax or BBS
  1552.  can be started.  Of course, this would alienate callers who don't
  1553.  have a touch-tone phone.  In other words, this default setup gives
  1554.  priority to voice callers.  Other setups are possible.
  1555.  
  1556.  After the caller leaves a message, he can press 1.  This will get him
  1557.  into another menu which allows him to leave another message (in case
  1558.  he got cut off because he exceeded the timeout for recording), leave
  1559.  his telephone number, send a fax, get into data mode, or hang up.
  1560.  
  1561.  To get into maintenance mode, you need to first press 1 to start up
  1562.  voicemail, select *your* mailbox, then press 9 before it starts
  1563.  recording your message.  You can also enter maintenance mode after recording.
  1564.  You need to end the recording with a 1.  Then, when it gives you the option
  1565.  of leaving another message, entering your telephone number, sending a fax,
  1566.  etc., just press 9.  Note that currently, the only way to listen to
  1567.  messages in the anonymous mailbox is to actually select the anonymous
  1568.  mailbox, then get into maintenance mode.
  1569.  
  1570.  I tried to make the menu system as standard as possible.  Pressing the
  1571.  '*' symbol at any menu should hang up the system.  This is good to know
  1572.  because you may be late in getting to the phone.  Pressing '#' usually
  1573.  brings you back to the previous menu.  Pressing '0' brings you to ground
  1574.  zero, the very first message that is played to you when you call up.
  1575.  
  1576.  Pressing '2' usually gives you a fax tone and '5' usually gives you a
  1577.  modem tone (but these keys are active only at certain times -- specifically,
  1578.  at ground zero (the first message), right when you enter a mailbox (it
  1579.  gives you instructions about waiting for the beep), or when you are given
  1580.  the option to leave another message, leave your telephone number, etc.
  1581.  
  1582. 15. Configuring with RXSET or SETENV
  1583. ------------------------------------
  1584.  
  1585.  You can configure this voicemail system to a certain extent.  Look in the
  1586.  file "avm:StandardConfig".  This file contains default values
  1587.  for all of the "environment" settings you can adjust.  Note that
  1588.  "avm:StandardConfig" is executed by startAVM and startAVMAndGPFax.
  1589.  These "environment" settings are described in this section.
  1590.  
  1591. 15.1. Introduction Messages
  1592.  
  1593.  When AVM answers the phone, it plays 1 of 7 files (these files are called
  1594.  avm:voices/intro1, avm:voices/intro2, etc.), depending on certain
  1595.  options you set.  You can choose any of the seven files to be played,
  1596.  or you can have one played for each day of the week, or you can have
  1597.  one played depending on the time of day (morning, afternoon, evening),
  1598.  or you can have it pick one at random.
  1599.  
  1600.  To play a particular file (choose 1 to 7), you would do the following:
  1601.  
  1602.    rxset AVMIntroductionType 1
  1603.  
  1604.  To play something based on the day of the week (1=Monday, 2=Tuesday, etc.)
  1605.  
  1606.    rxset AVMIntroduction DAYOFWEEK
  1607.  
  1608.  To play something based on the time of day (1=morning, 2=afternoon, 3=evening)
  1609.  
  1610.    rxset AVMIntroduction TIMEOFDAY
  1611.  
  1612.  To play one of the seven files randomly
  1613.  
  1614.    rxset AVMIntroduction RANDOM
  1615.  
  1616. 15.2. Time Format
  1617.  
  1618.  You can control what is said when playing a time.
  1619.  
  1620.    rxset AVMTimeFormat "%hours12 %minutes %pm"
  1621.  
  1622.  The line above will cause AVM to play the hours (1-12), followed by
  1623.  the minutes, then am or pm, depending on whether it's before 12pm
  1624.  or after 12pm respectively.
  1625.  
  1626.  To play the time in 24 hour format,
  1627.  
  1628.   rxset AVMTimeFormat "%hours24 %minutes"
  1629.  
  1630.  will do it.  You can play any voice file in between any of the time
  1631.  specifications by typing a filename (its full path).  For example,
  1632.  
  1633.  rxset AVMTimeFormat "avm:voices/TheTimeIs %hours12 %minutes %pm"
  1634.  
  1635.  will cause AVM to play the message in avm:voices/TheTimeIs, then
  1636.  the time in the 12 hour format.
  1637.  
  1638.  Note that the voice files should not have any spaces in their names.
  1639.  
  1640. 15.3. Date Format
  1641.  
  1642.  You can control the order and voicefiles that are played when playing
  1643.  a date.  To do this, do a:
  1644.  
  1645.    rxset AVMDateFormat "%month %day"
  1646.  
  1647.  This will play the month first, followed by the day of the month.  If you
  1648.  want to play a particular voice file anywhere in between, you only have
  1649.  to specify the name of the filename in the AVMDateFormat string.
  1650.  
  1651.  For example, you can do this:
  1652.  
  1653.    rxset AVMDateFormat "avm:voices/TheDateIs %month %day"
  1654.  
  1655.  This will play the file in avm:voices/TheDateIs, followed by the month,
  1656.  then by the day of the month.  Note that the voice files should not
  1657.  have any spaces in their names.
  1658.  
  1659. 15.4. Simple or MultiMailbox
  1660.  
  1661.  You can make this system be a simple answering machine, where the caller
  1662.  will not have to press any keys to get to leave a message.  To do a simple
  1663.  answering machine, do the following before running any of the programs in
  1664.  the AVM Suite.
  1665.  
  1666.    rxset AVMSimpleAnsweringMachine YES
  1667.  
  1668.  To use the two mailbox system, do the following:
  1669.  
  1670.    rxset AVMSimpleAnsweringMachine NO
  1671.  
  1672.  Note that the default is to use a simple answering machine.
  1673.  
  1674. 15.5. Playing Numbers
  1675.  
  1676.  Normally, AVM concatenates two numbers when it plays a 2 digit number.
  1677.  This reduces disk storage in having to store the all the possible
  1678.  numbers.  However, I have been told that the concatenation is language
  1679.  specific.  So, you have the option of recording all 59 numbers (I can
  1680.  only play 0 through 59 at this time).  To tell AVM to use the
  1681.  non-concatenating method, you do:
  1682.  
  1683.    rxset AVMDirectDDNumber YES
  1684.  
  1685.  To use the concatenating method, you do:
  1686.  
  1687.    rxset AVMDirectDDNumber NO
  1688.  
  1689. 15.6. Time and Date Specification
  1690.  
  1691.  LogView, Scheduler, and SchedulerView all show times and dates.  You can
  1692.  change the format of the time and date that is displayed.  To do this,
  1693.  you need to set an environment variable called AVMTIMEDATEFORMAT.
  1694.  
  1695.  Be careful with this!
  1696.  
  1697.  In the environment variable, special character sequences get replaced by
  1698.  the appropriate time or date information.  See below for an example:
  1699.  
  1700.  %a = abbreviated weekday name
  1701.  %A = full weekday name
  1702.  %b = abbreviated month name
  1703.  %B = full month name
  1704.  %c = locale's appropriate date and time representation
  1705.  %d = day of month (1-31)
  1706.  %H = hour (00-23) in 24 hour clock
  1707.  %I = hour (00-12) in 12 hour clock
  1708.  %j = the day of the year (001-366)
  1709.  %m = month (01-12)
  1710.  %M = minute (00-59)
  1711.  %p = equivalent of AM & PM
  1712.  %S = second (00-61)
  1713.  %U = week number of year (00-53) (the first sunday as the first day of week 1)
  1714.  %w = weekday (0-6)
  1715.  %W = week number of year (00-53) (the first monday as the first day of week 1)
  1716.  %x = locale's appropriate date representation
  1717.  %X = locale's appropriate time representation
  1718.  %y = year without century (00-99)
  1719.  %Y = the year with the century
  1720.  %Z = time zone name or abbreviation
  1721.  %% = percent sign
  1722.  
  1723.  setenv AVMTIMEDATEFORMAT "%H:%M %b %d"
  1724.  
  1725.  If you don't set AVMTIMEDATEFORMAT, the default is "%H:%M %b %d", which
  1726.  would display something like "15:59 Dec 5".
  1727.  
  1728. 15.7. Scaling output
  1729.  
  1730.  I added a new environment variable called AVMSCALEADJUST for CVSD decoding.
  1731.  If you set AVMSCALEADJUST to -1 (via a setenv AVMSCALEADJUST -1 in the CLI),
  1732.  it will double the translated output.  If you set it to -2, it will quadruple
  1733.  the output.  I think -1 and -2 are the only sane inputs here (and 0, of course).
  1734.  Note that you cannot use fractions here.  You can only do things in multiples
  1735.  of two (double, quadruple, halve, etc.).  Scaling is done with a simple bit
  1736.  shift for speed (not a floating point multiply or divide).  Doing a multiply
  1737.  or divide would result in not being able to use AmigaDirect with a 25 MHz 030.
  1738.  
  1739. 15.8. Answer Priority
  1740.  
  1741.  When AVM is setup as a multi-mailbox machine (not a simple answering machine),
  1742.  you have a choice of what to do if the person calling doesn't press 1 to start
  1743.  voicemail.  Normally, you would put him automatically into the anonymous
  1744.  mailbox.  However, some people would rather put the caller into fax mode
  1745.  or data mode.  This is useful especially if your modem doesn't support
  1746.  fax CNG detection (which simply means that the modem can't detect the special
  1747.  tone that a fax normally emits when it is sending).  If you would like to
  1748.  automatically receive faxes, then you will set the answer priority to fax.
  1749.  So, if your caller doesn't press 1, he will get a fax tone.
  1750.  
  1751.  To set fax priority, you would do:
  1752.    rxset AVMAnswerPriority FAX
  1753.  For data priority, you would do:
  1754.    rxset AVMAnswerPriority DATA
  1755.  And for voice priority (the default), you would do:
  1756.    rxset AVMAnswerPriority VOICE
  1757.  
  1758.  Edit avm:standardconfig to change the default permanently.
  1759.  
  1760. 15.9. ADPCM2IFF Converter
  1761.  
  1762.  The ADPCM2IFF converter (actually, this converter does handles all of the
  1763.  compressions) can now use a "slow" version of the CVSD to IFF converter
  1764.  that is more accurate.  To do this,
  1765.  
  1766.    setenv AVMSLOWCVSD YES
  1767.  
  1768.  Also, it is possible to run the converter without a GUI.  When run without
  1769.  a GUI, you can set its priority by,
  1770.  
  1771.    setenv AVMADPCM2IFFPRI -5
  1772.  
  1773. 15.10. Pre-Converting
  1774.  
  1775.  When someone calls and leaves a message, AVM can be instructed to
  1776.  preconvert the voice file into an IFF file.  So, when you get home,
  1777.  and your press the play button, you will immediately hear the voice
  1778.  message.  This is useful if AmigaDirect doesn't work for you (either
  1779.  because the decompression routines are too slow or because you have
  1780.  an unaccelerated Amiga).  By default, the pre-convert feature is
  1781.  turned off.  To turn it on, you do a:
  1782.  
  1783.    rxset AVMPreConvert YES
  1784.  
  1785. 15.11. Priorities
  1786.  
  1787.  You can set the priorities of some of the AVM programs by using
  1788.  the setenv command.  To set the priority of the AVM Player, the
  1789.  environment variable is called "AVMPLAYERPRI".  For the AVM ServerMan,
  1790.  the environment variable is "AVMSERVERMANPRI".  For the actual AVM
  1791.  servers, the environment variable is "AVMSERVERPRI".
  1792.  
  1793.    setenv AVMPLAYERPRI 0
  1794.    setenv AVMSERVERPRI 0
  1795.    setenv AVMSERVERMANPRI 0
  1796.  
  1797. 15.12. Playing while converting
  1798.  
  1799.  You can preview a voice file (if you have a slow amiga and don't
  1800.  use the PreConvert feature or the AmigaDirect feature) by:
  1801.  
  1802.    rxset AVMPlayWhileConverting YES
  1803.  
  1804. 16. History
  1805. -----------
  1806.  
  1807.  V1.0
  1808.    o  first MUI release to Beta testers (not much feedback due to
  1809.       difficulty in installing)
  1810.  
  1811.  V1.1
  1812.    o  commands sent to the modem are not paired anymore (AT+VRA=5 +VRN=6)
  1813.    o  made easier to install
  1814.    o  added some icons
  1815.    o  added lots more flags to control the AVM server
  1816.    o  By default, we now wait for rings in Voice mode.  So, the only command
  1817.       we need to send to the modem when it rings is a "pick up the line"
  1818.       command.  This reduced the chance of getting mixed up when another RING
  1819.       came in while sending the modem setup strings.  It also made the
  1820.       answering of the phone much quicker.
  1821.  
  1822.  V1.2
  1823.    o  added more icons
  1824.    o  added icon for avm.doc
  1825.    o  should now work with the GVP IO Extender (change in AVM server)
  1826.  V1.3
  1827.    AVM Server
  1828.    o  added `Ring Script'
  1829.    o  added unsizeable window for the AVM Server (unregistered version)
  1830.    Server Config
  1831.    o  added `Ring Script'
  1832.  V1.4
  1833.    LogView
  1834.    o  fixed problem in LogView of not being able to edit any of the string
  1835.       gadgets
  1836.    AVM Server
  1837.    o  added another flag in voice.c for Dolphin modem (NeedsATHToHangup).
  1838.       Hopefully, that will solve the problem of not hanging up.
  1839.    ARexx scripts
  1840.    o  Fax mode is now available as an option right at the beginning.
  1841.       Press 2 to send a fax, 5 for data mode.
  1842.    o  Data mode is now available from the mailboxes (5=data) and from the
  1843.       intro to the mailboxes (5=data).
  1844.    Config files
  1845.    o  Added s48.1=1 to the setupstringav.  This makes sure that when we
  1846.       are doing an ATA from within Data mode, the modem doesn't try to
  1847.       receive a fax if the modem failed a handshake.
  1848.    o  Added flag "NeedsATHToHangup" to Dolphin advanced flags.
  1849.    Scripts
  1850.    o  I moved the all the files which begin with "use" to the directory called
  1851.       DefaultScripts.  These script files are necessary only if you want to
  1852.       change the configuration of AVM.  Note that these scripts were originally
  1853.       written to help make AVM easier to install.  Once I wrote the Installer
  1854.       script, these scripts no longer became necessary.  But, they may serve
  1855.       some purpose, so they are still included with the release.
  1856.  V1.5
  1857.    Server Config
  1858.    o  Made recording length 1000 secs. max
  1859.    Programmer
  1860.    o  Made recording length 1000 secs. max
  1861.    AVM Server
  1862.    o  Changed "No Name" and "No Number" to blanks.
  1863.  V1.6
  1864.    AVM Server
  1865.    o  Fixed bug when you closed the serial port and then killed the server.
  1866.    o  Status now shows 0 rings, 1 ring, 2 rings, etc.  No more (s).
  1867.    o  Added DIAL arexx (it doesn't seem to work too well for the ZyXELs.
  1868.       These modems don't seem to pay attention at all to the VRN and VRA
  1869.       parameters -- at least that's as of 6.11 -- I haven't checked if
  1870.       6.11a is any better).
  1871.    Server Config
  1872.    o  Added checkbox for Dial Tone (vs. pulse)
  1873.    o  Added maximum time to wait for a VCON after dialing a number
  1874.    ServerMan
  1875.    o  Made it less cluttered (by grouping hardly used buttons and hiding
  1876.       them)
  1877.    All MUI Binaries
  1878.    o  Will now say why the application could not be created (ran out of memory,
  1879.       program already running, etc.).
  1880.    ARexx Scripts
  1881.    o  Made a simpleanswervoice.avm which acts like a simple answering machine.
  1882.       But, you can still enter data mode, fax mode, etc.  It puts messages into
  1883.       the anonymous mailbox.  To use this new script, just use the ServerConfig
  1884.       program to use "simpleanswervoice" instead of the usual "answervoice".
  1885.  V1.7
  1886.    ARexx Scripts
  1887.    o  Added an experimental secretary.avm (and callup.avm) to repeatedly dial
  1888.       out until connected.  To use it, you need to say something like:
  1889.       "rx avm:rexx/callup.avm 4714043".  "callup.avm" looks for the server
  1890.       in "player.cfg", then calls "usebracket.avm" with the server, which
  1891.       eventually sets things up properly and calls "secretary.avm".
  1892.    o  Fixed abort.avm since it didn't properly terminate AGMSRecordSound
  1893.    o  Modified abort.avm to work with AmigaDirect
  1894.    o  Modified play.avm to work with AmigaDirect
  1895.    o  Added ARexx script called playamigadirect.avm to call adpcm2iff with
  1896.       correct arguments to make it play to the audio device.
  1897.    o  Modified alertmessagessay.avm so that it doesn't speak if the CLIP
  1898.       'AVMBusy' is greater than 0.
  1899.    o  Modified usebracket.avm to set 'AVMBusy' to 1 higher than its current
  1900.       value.  This prevents alertmessagesay.avm from speaking while the AVM
  1901.       Server is playing with the modem.
  1902.    o  Modified playamiga.avm and playamigadirect.avm to set 'AVMBusy' to 1
  1903.       higher than its current value.  This prevents "speaking" while we're
  1904.       playing messages through the Amiga speaker.
  1905.    o  Added 7 introductions
  1906.    o  Added recording of 7 introduction or choosing which method of
  1907.       playing the introductions
  1908.    o  Added AVMIntroductionType
  1909.    o  Added selection of simple answering machine or 2 mailbox system
  1910.    o  Added AVMDateFormat and AVMTimeFormat
  1911.    o  Added AVMDirectDDNumber, which allows you to record all 59 numbers
  1912.    o  Added accessing of anonymous messages when in your own mailbox
  1913.    o  Says how many messages in your mailbox and in the anonymous mailbox
  1914.       when you enter maintenance mode.
  1915.    o  Added AVMSimpleAnsweringMachine
  1916.    AVM Programmer
  1917.    o  Added Dial node
  1918.    o  Added Delay node
  1919.    AVM Player
  1920.    o  Added a way of specifying a filename to be recorded or played
  1921.    AVM Server
  1922.    o  Added Delay rexx command (this delay is breakable by sending the
  1923.       server an abort message)
  1924.    o  Changed DialNumber() so that it sends an A instead of an AT when
  1925.       aborting the dial command (or timing out before somebody answers).
  1926.    o  Added ABORT to the list of messages that the server listens to in
  1927.       "use" mode.  This ensures that if the server receives an ABORT message,
  1928.       it will go back to "unused" mode.  Then, any ARexx script should
  1929.       automatically abort because any new commands it sends to the server
  1930.       will get replied with 20 as an error code.  If I find a bug related
  1931.       to aborting, I should probably do an "assume(UnknownMode)" when we
  1932.       get this abort message.  We should look for all "assumes" in the
  1933.       ARexx scripts to make sure they are safe with our modified way of
  1934.       aborting.  This modified way of aborting will ensure that abort
  1935.       messages are not lost.
  1936.    Call Notifier
  1937.    o  Added shut up button.
  1938.    Iff2Adpcm
  1939.    o  Made increment of gauge smaller and more consistent
  1940.    o  Fixed bug when called from the CLI with invalid arguments.  It used
  1941.       to crash.
  1942.    o  Can stop conversion by sending an abort message to the program's ARexx
  1943.       port or by clicking on the close gadget.
  1944.    Adpcm2Iff
  1945.    o  Made increment of gauge smaller and more consistent
  1946.    o  Fixed bug when called from the CLI with invalid arguments.  It used
  1947.       to crash.
  1948.    o  Added the ability to play directly to the audio device while converting.
  1949.       This speeds up things dramatically and can handle very large voice files.
  1950.       Thanks to the author of VoiXEL for giving me the idea that it was
  1951.       possible :)
  1952.    o  Can stop conversion/playing by sending an abort message to the
  1953.       program's ARexx port or by clicking on the close gadget.
  1954.    General Binaries
  1955.    o  Changed localtime to gmtime.  This removes the need to look at the TZ
  1956.       environment variable.  This means that it shouldn't matter what timezone
  1957.       you're in to get the time right.
  1958.    o  Added environment variable AVMTIMEDATEFORMAT
  1959.  V1.8
  1960.    ARexx Scripts
  1961.    o  Fixed aaprocessmailbox to include exposing of datascript if data mode
  1962.       activated.
  1963.    o  Fixed stdfax and stddata to call answerfax and answerdata respectively,
  1964.       in case datascript and faxscript don't get propagated through.  This is
  1965.       basically a problem of not being able to declare strictly global variables.
  1966.       I did a setclip in answervoice.avmsrc and did a getclip when we're about
  1967.       to receive a fax or data connection.
  1968.    o  Standardized the messages to be recorded.
  1969.    o  Fixed a bug that would cause problems while retrieving messages
  1970.       remotely.
  1971.    o  Made the default length of recording for Record Conversation 500 seconds.
  1972.    o  Fixed answervoice in that, if there are no introductory files, it's ok.
  1973.       This allows us to not have any introductory files at all.
  1974.    o  Fixed stdfax and stddata to give voice instructions before starting up
  1975.       BBS or fax reception.  If those voice instruction files don't exist,
  1976.       it's ok.  They're not required.
  1977.    AVM Programmer
  1978.    o  Made strings larger (especially for the comment in playnode and
  1979.       presentmenunode).  Also made string larger for actions (useful when
  1980.       you want to do an ARexx action.
  1981.    AVM Server
  1982.    o  Zeroed ringCount after detecting a signal (OwnDevUnit or ARexx) and
  1983.       did a showRingNameNumber.  This is so that, if you manually click on
  1984.       any button (abort, answervoice, answerfax, answerdata, etc.), the
  1985.       AVM Server won't eventually do a Silent Answer.
  1986.  V1.9
  1987.    ARexx Scripts
  1988.    o  Fixed stdtail (stdfax) to put stuff in the anonymous mailbox.
  1989.    o  Fixed record.avm (bug in loadiff).  Changed loadiff to load from
  1990.       the file 'save.iff'
  1991.    o  Fixed abort.avm.  When recording with the external mic option, abort.avm
  1992.       used to not send the abort correctly.  It does now.  Of course, the AVM
  1993.       Player sends an abort message correctly now too, so this probably won't
  1994.       ever get called again (at least by any of the programs that use playercfg.h).
  1995.    o  Made beep in processmailbox longer (so it can be heard).  Also lengthened
  1996.       beeps when recording messages and when playing them back for retrieval.
  1997.    o  Shortened a lot of the scripts by being smarter with what gets included.
  1998.    o  Added AVMAnswerPriority for those people who want to receive faxes auto.
  1999.       but their modems don't support it.
  2000.    AVM Server
  2001.    o  Decided to make the AVM Server more resilient to changes in ROMS.  When
  2002.       a new DLE escape sequence is introduced (and the modem sends it to us),
  2003.       we don't automatically quit recording or playing.  Instead, we continue.
  2004.    o  Fixed dial number.  Now doesn't wait for a really long time if the
  2005.       modem returns something (BUSY, etc.).
  2006.    o  Fixed problem with recording short files using LineLink modem.  I forgot
  2007.       to flush my mini-buffer :)
  2008.    o  Made LineLink modems respond really fast (when someone presses a key,
  2009.       it will stop playing the voice file almost immediately).  This is quite
  2010.       nice.
  2011.    o  Fixed problem with recording that caused an "echo" :)  LineLink modems
  2012.       affected
  2013.    o  Just changed the task priority to be user-settable by using setenv.
  2014.       (AVMSERVERPRI)
  2015.    o  Fixed problem of receiving DLE sequences while playing a voice.  This
  2016.       used to stop the server and return immediately.  Now, it only does that
  2017.       if it is a key, busy, fax, data, timedout, user abort, or error.
  2018.    AVM Player
  2019.    o  Clicking on Abort is now much faster
  2020.    o  I couldn't make the time delay between clicking on record and the
  2021.       modem actually recording shorter because I still had to negotiate for
  2022.       using the server and stuff like that.  Plus, depending on the modem
  2023.       and rom settings, I may have to send between 1 and 5 commands to the
  2024.       modem before it actually starts recording.  So, the best way to tell
  2025.       when to start speaking is to watch the blinking lights :)
  2026.    o  Just changed the task priority to be user-settable by using
  2027.       setenv.  (AVMPLAYERPRI)
  2028.    o  Fixed Abort problem with the external mic option
  2029.    AVM ServerMan
  2030.    o  Made the task priority user-settable by using setenv. (AVMSERVERMANPRI)
  2031.    AVM ServerConfig
  2032.    o  Added SPC9600 and SPC8000.  The decoder is much faster.  I don't have
  2033.       a very good encoder though, which means that you're pretty much
  2034.       limited to recording your samples using the telephone line option.
  2035.       Note that this compression mode will use the serial port a lot more.
  2036.       So, try it out on your machine.  If you get serial port errors,
  2037.       then don't use this.  The major advantage is that it's easier to
  2038.       decode and can be played using AmigaDirect with a lesser
  2039.       CPU.  BTW -- this is for the LineLink modem.
  2040.    ADPCM2IFF
  2041.    o  Sped up CVSD to IFF.  This still is not fast enough on my 030/25
  2042.       though, to play direct to the amiga speakers.  But it's very close.
  2043.       You will hear a very small pause because the conversion didn't catch
  2044.       up to the playing.
  2045.    o  Added a new environment variable called AVMSCALEADJUST for CVSD
  2046.       decoding.  If you set AVMSCALEADJUST to -1 (via a setenv
  2047.       AVMSCALEADJUST -1 in the CLI), it will double the translated output.
  2048.       If you set it to -2, it will quadruple the output.  I think -1 and
  2049.       -2 are the only sane inputs here (and 0, of course).
  2050.    AVM Logger
  2051.    o  Environment variable AVMLOGFILE can point to a different file where
  2052.       the logger can save the output.
  2053.    Misc
  2054.    o  It is now possible to display status information (ARexx scripts need
  2055.       to be modified to do this) in the Player and anything that uses
  2056.       playercfg.h.
  2057.  V1.10
  2058.    ARexx scripts
  2059.    o  Fixed playtime to play the correct time now.
  2060.    o  Fixed playamigadirect to use the new calling format for adpcm2iff
  2061.    o  Fixed stdfax and stddata so that you can press * to abort them (when
  2062.       they are playing instructions on how to start the fax or how to start
  2063.       the terminal).
  2064.    o  Fixed abort.avm so that it can abort a conversion in progress
  2065.    o  Fixed playamiga.avm so that if a conversion is aborted, it will not play.
  2066.       Also, added an option to cause adpcm2iff to play the voice file while
  2067.       it is converting it.
  2068.    o  Added a check in playamiga.avm to see if the filename to be played
  2069.       has been pre-converted to an iff file already (the filename plus an 'i'
  2070.       exists).  In this case, it will play that file instead of converting.
  2071.    o  Added a new ARexx environment setting so that it pre-converts
  2072.    ADPCM2IFF
  2073.    o  Made it possible to both play and save to a file at the same time.  This
  2074.       may not work on your system (too slow?), but is good way to "preview"
  2075.       the voice file so you don't have to convert the whole thing.
  2076.    o  Added some parameters to make a GUI not show up (but this makes it not
  2077.       abortable at all).  This also puts it in the background.  This will
  2078.       eventually be used to pre-convert incoming voice files into IFF.
  2079.    o  Added the slow, more accurate method of converting CVSD voice files to
  2080.       IFF.  This is significantly slower, but comes out with nicer sounding files.
  2081.    Programmer
  2082.    o  Made the windows a lot smaller.  It still needs at least a 640x400 screen
  2083.       though.
  2084.    ServerConfig
  2085.    o  Made windows smaller
  2086.    MailboxConfig
  2087.    o  Made windows smaller
  2088.    o  Removed auto inform
  2089.    o  Changed the names of the options to make them more intuitive (hopefully)
  2090.    o  Made all of the "automatic" things have scripts that you can change
  2091.    o  Now, only valid characters are allowed in some of the string fields.
  2092.       For example, you cannot enter a space anymore into the password field.
  2093.    CallNotifier
  2094.    o  Made windows smaller
  2095.    o  Hid some of the buttons (that should not be used often)
  2096.    o  Made it possible to give "aliases" for each of the mailboxes.  These
  2097.       aliases can now have spaces in them (the names of the mailbox
  2098.       directories still cannot).
  2099.    LogView
  2100.    o  Made windows smaller
  2101.    o  Rearranged some of the buttons.
  2102.  V1.11
  2103.    ARexx Scripts
  2104.    o  Fixed processmailbox so that recording of intro messages goes into the
  2105.       correct directory.
  2106.    o  Added a new way of alerting you that there are messages.  It will now
  2107.       play an iff file called "avm:have1message.iff" or "avm:havemessages.iff".
  2108.    AVM Server
  2109.    o  Added two flags for making the detection of fax tones and data tones
  2110.       be less sensitive.  I now require reception of two data tones or two
  2111.       fax tones (with the appropriate flag set -- and it is enabled by default)
  2112.       before the server interprets it as a data or fax call.  This is because
  2113.       the ZyXEL doesn't seem to be too reliable in detecting these tones --
  2114.       it seems to be too sensitive.  The flags are called Needs2FaxTones
  2115.       and Needs2DataTones.  Both can be changed in the Advanced Flags
  2116.       section of ServerConfig.
  2117.    o  With the appropriate flag set (RetryAfterPortUsedError), the server
  2118.       will try to gain access to the serial port after a minute.  If someone
  2119.       is listening on the serial port, then there will be no problem since
  2120.       I always try to set some serial parameters, and this will fail if there
  2121.       is somebody using the serial port.  However, if we got into this error
  2122.       because of some bad timeout (or you turned off your modem), then we will
  2123.       be ok after a minute.  This flag is also available in the
  2124.       Advanced Flags section of ServerConfig.  Note that we will *not* retry
  2125.       to access the port if we were forced into Unlisten mode by an external
  2126.       ARexx command.
  2127.    o  When OwnDevUnit requests the port, we say so.  Also, we go into CommandMode.
  2128.    o  Removed a lot of the status updates which seemed to be wrong in main() --
  2129.       showRingNameNumber
  2130.    o  Now, we're a little bit smarter when starting up from UnknownMode.
  2131.       We try different things to get the modem's attention.  This is just
  2132.       in case we were in a bad state and the modem is not responding.  So,
  2133.       we try different techniques (like sending an XON, turning off
  2134.       record mode, play mode, doing a +++, followed by an ATH, etc.).
  2135.       We also try a variety of baud rates.
  2136.    o  Fixed ringScript activation to not call ringScript if we're about to
  2137.       answer the phone.
  2138.    o  Added flag "GrabModem", which tries different things to get the modem's
  2139.       attention when we get a Port Used error.
  2140.    o  Added flag "ResyncModem", which resyncs the modem every 10 minutes (approx).
  2141.       This is good to do -- it will cause the modem to go into command mode
  2142.       and back into the mode where it waits for rings.  This is useful especially
  2143.       if you tend to turn on and off the modem.  The only problem with this
  2144.       is that you may miss 1 or 2 rings.  This doesn't mean you will miss the
  2145.       call.  All it means is that the modem will not answer immediately.  This
  2146.       will only happen IF someone calls at the exact moment that we are testing
  2147.       the modem.
  2148.    ADPCM2IFF
  2149.    o  Fixed a bug which caused enforcer hits when trying to play a voice file
  2150.       that was zero in length.
  2151.  
  2152. 17. Wish List
  2153. -------------
  2154.  
  2155.  2/26/94
  2156.   o  At certain times, the rings to be expected may change.  Need to add an
  2157.      ARexx command in the servers to change the number of rings.
  2158.   o  When playing to Amiga (not AmigaDirect), add an option to play the
  2159.      file while it's being converted.  Although it won't be real time (the
  2160.      voice file will not be continuous), at least you will get to hear
  2161.      parts of it to see if it's worth the wait.
  2162.  
  2163.  2/25/94
  2164.   o  Maybe blink the power led when the answering machine is on.  But,
  2165.      we need to blink it differently than our flashpower program does.
  2166.  
  2167.  2/24/94
  2168.   o  If port is in use, try every 5 minutes to get the port.  Maybe try
  2169.      different things to get the port to listen.
  2170.   o  Add Quit & Kill Servers to serverman to quit serverman and to kill
  2171.      all the active servers.
  2172. -  o  Add a name field for mailboxes (in mailbox config) and use that
  2173.      to show what's in the call notifier (not just the directory name).
  2174. -  o  Pre-convert voice files while machine is idle (in other words,
  2175.      do a low priority conversion routine when voice files are created).
  2176.  
  2177.  2/21/94
  2178.   o  Add play all to the logview
  2179.   o  Add delete all to the logview
  2180.   o  Add "serverconfig" to the server manager (opens up a serverconfig
  2181.      program).
  2182.  
  2183.  2/10/94
  2184. - o  Make a special answervoice to do simple answering machine stuff
  2185. - o  Clean up ServerMan to hide the Close, Open, Unlisten, Listen,
  2186.     Start, and Kill server gadgets.
  2187.  
  2188.  2/9/94
  2189.  o  Allow disabling of busy detect for ROM versions which are faulty
  2190.  o  Use user-defined filenames for saveiff or loadiff
  2191. - o  Allow Player/Recorder to play/record user defined files
  2192.  o  Phonebook that's integrated with the logview (so you can show the names
  2193.     of the people with a particular phone number)
  2194.  o  Add better error reporting (like when audio.device is being used)
  2195.  
  2196.  2/8/94
  2197. - o  Make the anonymous mailbox accessible from the other mailboxes
  2198.  o  Finish the Scheduler and SchedulerView scripts
  2199.  o  Document Scheduler/SchedulerView/Programmer
  2200.  o  Make a "copy" template for each of the Programmer constructs so that,
  2201.     when a construct is instantiated, the new construct copies stuff from
  2202.     this template.  Template should be persistent.
  2203.  o  Secretary feature for calling people (integrated with the phonebook --
  2204.     click on somebody to dial out until connected, play some file,
  2205.     and beep)
  2206.  o  Localize the program (binaries and ARexx scripts -- this includes
  2207.     localizing the concatenations of numbers)
  2208. - o  Add a button to the Call Notifier to shut up until the next call comes
  2209.     in.
  2210.  o  Support Rockwell chipset voice modems
  2211.  o  Pre-load most of the shorter ARexx scripts (such as delete, broadcast, 
  2212.     etc.).  This should speed things up quite a bit
  2213. - o  Add options so that we can easily customize the ARexx scripts without
  2214.     having to maintain several versions for different users.  Probably do
  2215.     this through the getclip and setclip ARexx functions.  Can't do this
  2216.     with environment variables since they are not easily accessible from
  2217.     ARexx.
  2218.  o  Use MUI better -- make everything controllable from the keyboard
  2219. - o  Have multiple (random, day, or time driven) greetings
  2220.  o  Fix up string gadgets which accept input to *not* allow spaces to be
  2221.     typed in
  2222.  o  Add some flags to the AVM server to filter out debugging information
  2223.     (so we don't have to see it all)
  2224.  
  2225. 18. Acknowledgements
  2226. --------------------
  2227.  
  2228.  o  Mike Sinz for SimpleRexx and Enforcer
  2229.  o  Dr. Greg Perry of GPSoft for GPFax
  2230.  o  SAS for SAS/C
  2231.  o  David Gay for Emacs port
  2232.  o  ZyXEL for their modem and the conversion routines from ADPCM2/3 to
  2233.     something
  2234.  o  Sierra Semi for being helpful w/r to the LineLink modem
  2235.  o  Commodore Amiga for their iff routines
  2236.  o  David Junod for FindLine
  2237.  o  Alex G. M. Smith for AGMSRecordSound, AGMSRecordSoundPS3, and
  2238.     AGMSPlaySound.  He was helpful in adding the ARexx commands
  2239.     necessary to make these program work seamlessly with AVM.
  2240.  
  2241. 19. Beta Testers
  2242. ----------------
  2243.  
  2244.  o  Dirk Sieber
  2245.  o  Michael Breger
  2246.  o  James Atwill - thanks for the asl code!
  2247.  o  Christian Stelter
  2248.  o  Pjotr Sjostrom
  2249.  o  Stefan Odendahl
  2250.  o  Frank Geider
  2251.  o  Fred Pienkos
  2252.  o  Cogrossi Fulvio
  2253.  o  Tim Lloyd
  2254.  o  Daniel J. McCoy
  2255.  o  Ryan Bruner
  2256.  
  2257. 20. Common Problems
  2258. -------------------
  2259.  
  2260.  o  AVM reports that the serial device either couldn't be opened when
  2261.     working with GPFax.  You should make sure that the shared mode
  2262.     flag in GPFax is enabled.
  2263.  
  2264.  o  When answering a fax call, the modem picks the line up, drops it,
  2265.     then picks it up again.  This is caused by an "&F" in the Modem
  2266.     Init string of GPFax.  You should remove this.
  2267.  
  2268.  o  I have trouble receiving and sending faxes with the LineLink
  2269.     modem.  You need to make sure the Modem Init string is the
  2270.     same as the init string mentioned in step number 8 of
  2271.     `Setting up'.  Also, the LineLink modem cannot detect a
  2272.     fax automatically.  You will need to instruct people who may
  2273.     send faxes to you that they have to follow instructions (like
  2274.     pressing 2) on how to start up fax reception.
  2275.  
  2276.  o  AVM doesn't handle data calls properly.  Why?  You need to make
  2277.     sure that AXsh is set up properly.  Here is what I needed to do
  2278.     in my s:user-startup
  2279.  
  2280.       ;BEGIN AXSH
  2281.       assign axsh: pd:axsh.installed
  2282.       path axsh:bin
  2283.       mount axaux: from axsh:etc/mountlist.axsh
  2284.       ;END AXSH
  2285.  
  2286.     In addition to making sure that AXsh is set up properly, you
  2287.     need to make sure that "answerdata" is in the `Data Call' 
  2288.     field.  The ARexx script "answerdata.avm" sets up the modem,
  2289.     performs an ATA, then calls the script "startbbs.avm" if
  2290.     there is a modem connection.  If you are not using AXsh, the script
  2291.     "startbbs.avm" is where you should start tinkering.
  2292.  
  2293.  o  I get very short files when recording;  sometimes, they're
  2294.     truncated.  When you press `Record', there is a short delay before
  2295.     the modem actually starts recording.  This is due to two things:
  2296.     First, I need to send commands to the modem to actually start
  2297.     recording.  This takes a finite amount of time.  Second, I need to
  2298.     tell the server to tell the modem to start recording.  To do this,
  2299.     I use ARexx to communicate between the user interface and the AVM
  2300.     Server.  Again, this takes some processing time.  So, to be sure
  2301.     that what you say gets recorded, you should press `Record', then watch
  2302.     the modem until some light starts flashing continuously (this
  2303.     indicates a recording process).  Then you can start speaking.
  2304.  
  2305.     When stopping the recording, there is also a short delay between
  2306.     the time you press `Stop' and the time the recording actually stops.
  2307.  
  2308.     These short delays will take some getting used to, but when you're
  2309.     used to them, they will turn into a minor annoyance.  These delays
  2310.     may decrease in future versions.
  2311.  
  2312.  o  How do I save window positions and sizes and icon positions?  Go to
  2313.     a CLI, cd to env:mui, look for the names of the AVM programs
  2314.     (AVMLOGVIEW, AVMCALLNOTIFIER, AVMLOGGER, AVMPLAYREC, etc.), and copy
  2315.     their .wini files to envarc:mui.  For icon positions, you need to use
  2316.     the MUI Prefs program.
  2317.  
  2318.  o  How do I put all the windows on a different screen?  Use the MUI Prefs
  2319.     program to create a public screen and tell MUI to open up the windows on
  2320.     that public screen.
  2321.  
  2322.  o  Do I need a registered version of MUI?  No, you do not.  But, you will
  2323.     able to customize all the AVM programs if you do register MUI.  I really
  2324.     encourage you to do so.
  2325.  
  2326.  o  When I try to edit something in the programmer, no window opens and the
  2327.     programmer hangs.  You need to have a screen size of at least 640x400.
  2328.     MUI will not open a window if it is too large to fit in the screen.
  2329.  
  2330.  o  I am having problems receiving faxes with the zyxel6.11 server.
  2331.     It seems to take a long time to recognize a fax CNG tone.  I added
  2332.     a flag called Needs2FaxTones, which means that it will listen for
  2333.     two CNG tones before accepting it as a fax call.  I did the same
  2334.     thing for data tones also.  There is a flag called Needs2DataTones.
  2335.     Both of these flags can be disabled by going into the Advanced Flags
  2336.     section of the ServerConfig program and toggling on those two flags
  2337.     until there is a "#" symbol before the flag.
  2338.  
  2339.  o  None of the "automatic" options in MailboxConfig seem to work.  At
  2340.     this time, they really won't work.
  2341.  
  2342.  o  Sometimes, AVM misses keys pressed by a caller.  This is not AVM's
  2343.     fault.  It is the fault of the modem.  I have nothing to do with
  2344.     detection of DTMF keys.  It just reports them to me.  If you have
  2345.     a ZyXEL with a ROM less than 6.11a, I really recommend that you
  2346.     upgrade your ROMS.
  2347.  
  2348.  o  After 10 minutes, the AVM server dies for some unknown reason.  The
  2349.     UNREGISTERED version will not work properly unless its "annoying"
  2350.     window opens up on the WorkBench.  Therefore, do not use a public
  2351.     screen manager to "shanghai" its window to another screen.  Also,
  2352.     do *not* use an external program to close the window or resize the
  2353.     window.  Your computer may crash.  I am not responsible for crashes
  2354.     due to tampering with the "annoying" window.
  2355.  
  2356.  o  AVM doesn't want to record anything.  Perhaps you didn't set things
  2357.     up correctly.  You need to make sure that the Drawer "AVM:voices"
  2358.     exists.  From the WB, create a drawer called "voices" in the AVMSuite
  2359.     Drawer.  Or, from the CLI, type in "makedir avm:voices".
  2360.  
  2361.  o  AVM hangs up while you are accessing some of the menus.  Make sure
  2362.     that you record all the messages in the Player program.  If you did
  2363.     record all the messages, then run the Logger program, play around
  2364.     with the system until it hangs up unexpectedly.  Then, click on the
  2365.     Save button in the Logger window, and send me the file called
  2366.     "avm:logger.save".  That will help me tremendously in finding out
  2367.     what is wrong.
  2368.  
  2369.  o  Recording doesn't seem to work too well.  It seems to terminate early.
  2370.     Try running the program called Logger.  When recording, if it says there's
  2371.     a serial port error, then your machine cannot handle the speed at
  2372.     which the modem is transmitting data at.  Maybe you have a program
  2373.     running in the background that's taking up so much CPU time that
  2374.     it takes too long to process the serial port interrupt.  The first
  2375.     thing to try is to enable the "Use AVMTemp: for Recording" button
  2376.     in the Server Config program and restart the AVM Suite.  If that
  2377.     still doesn't work, try opening up a public screen with a low
  2378.     resolution.  Then, switch to that screen and try AVM again.  If that
  2379.     still doesn't work, you may need one of those high speed serial
  2380.     ports which handle high speeds more easily.
  2381.